2009-05-22 16 views
1

Ich bin neu in jQuery und kann keinen Selektor mit der ID des Elements arbeiten. Der folgende Code funktioniert:Wie behandelt jQuery das Klickereignis?

$(function() { 
    /* $("#ShowBox").onclick = ShowAccessible; */ 
    document.getElementById("ShowBox").onclick = ShowAccessible; 
    /* $(".searchcheck").click = ShowAccessible; */ 
}); 

function ShowAccessible() { 
    $("tr.hide").fadeOut(); 
} 

jedoch keiner der beiden kommentierten aus Linien arbeiten heißt, sie nicht das Click-Ereignis mit einer Klasse von „searchcheck“ namens „ShowBox“ auf eine Checkbox anzuwenden. Warum ist das?

Antwort

6

JQuery Funktionen verwendet, anstatt Eigenschaften die Handler zu setzen.

 
$("#ShowBox").click(ShowAccessible); 
+0

Danke Tom. Ich habe das Tutorial, das ein Beispiel dafür hat, falsch gelesen. – yuben

8

Es gibt keine onclick-Eigenschaft für ein jQuery-Objekt; Wenn Sie $([selector]) verwenden, wird ein jQuery-Objekt zurückgegeben, kein Element.

Verwenden Sie entweder

.click(function() { ...}); // can be an anonymous function or named function 

oder

.bind('click', function() { ... }); // can be an anonymous function or named function 

wie so

$("#ShowBox").click(ShowAccessible); 
$("#ShowBox").bind('click', ShowAccessible); 
+0

Oops, Tippfehler - das funktioniert auch nicht

 $("#ShowAccessible").click = ShowAccessible; 
yuben

+0

Ich habe mit einem Beispiel aktualisiert –

0

wenn Sie es wirklich mit einer Zuordnung zu tun haben, ich glaube,

$ ("# ShowBox") [0] = .onclick ShowAccessible;

würde funktionieren.

Verwandte Themen