2016-04-05 11 views
1

Die Fun1 ist eine Funktion, und ich habe versucht, als Variable bei eventlisterOnclick, und führen Sie die Funktion dort, aber wenn ich Fähigkeit (_src) eingeben; es wird nicht funktionieren. Wie stelle ich die Funktion in my eventlistOnclick ein.Set Variable Funktion funktioniert nicht

+2

'" fun1 "' ==> 'fun1' in' eventlisternOnclick ("abc", "fun1", ... '. 'fun1' ist eine Funktion, keine Zeichenkette. – Tushar

+0

Entschuldigung, ich kann nicht verstehen, was Sie meinen, erklären Sie mehr? – darkness

+1

Wenn die Funktion 'fun1' an' eventlistenOnclick() 'übergeben wird, sollte sie als Funktionsreferenz übergeben werden, d. H. Als Funktionsname. Es sollte nicht in Anführungszeichen gesetzt werden. – Tushar

Antwort

1

wenn der übergebene Parameter ist immer dann Klasse

document.querySelectorAll(_class); 

mit

document.querySelectorAll("." + _class); 

Auch ersetzen, ist fun1 ein String, also wenn fun1 dann auf diesen Bereich verfügbar ist versuchen

eventlisternOnclick("abc", fun1, "this.src", null); 

Komplette Funktion könnte

sein
function eventlisternOnclick(_class, ability, _id){ 
    var cell_onclick = document.querySelectorAll(_class); 
    for(var c = 0; c < cell_onclick.length; c++){ 
    cell_onclick[c].addEventListener('click', function(){ 
     ability(this.getAttribute("src")); 
    }, false); 
    } 
} 

function fun1(mysrc){ 
    console.log(); 
} 

eventlisternOnclick("abc", fun1, null); 
+0

Ich denke '' this.src "' muss auch 'this.src' sein – Tushar

+0

@Tushar,' this.src' als Argument wird "evaluiert", nicht übergeben, wie wir erwarten .. Meine Vermutung ist "undefined" wird übergeben! – Rayon

+0

@Tushar hat er nicht erwähnt, was er damit machen will. – gurvinder372

Verwandte Themen