2009-05-22 5 views
1

Je suis nouveau sur jQuery et je n'arrive pas à faire fonctionner un sélecteur en utilisant l'id de l'élément. Le code ci-dessous fonctionne:Comment jQuery gère-t-il l'événement click?

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

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

Cependant, aucun des deux lignes commentées fonctionnent-à-dire qu'ils ne sont pas applicables l'événement de clic à une case à cocher nommée « ShowBox » avec une classe de « searchcheck ». Pourquoi est-ce?

Répondre

6

JQuery utilise des fonctions plutôt que des propriétés pour définir les gestionnaires.

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

Merci Tom. J'ai mal lu le tutoriel qui a un exemple de ceci. – yuben

8

Il n'y a pas de propriété onclick pour un objet jQuery; Lorsque vous utilisez $([selector]), un objet jQuery est renvoyé, pas un élément.

utilisation soit

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

ou

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

comme si

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

Oups, faute de frappe - cela ne fonctionne pas non plus

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

+0

J'ai mis à jour avec un exemple –

0

si vous aviez vraiment le faire avec une mission, je pense que

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

fonctionnerait.

Questions connexes