Je veux exécuter une fonction sur un événement sur tout élément mais:Comment puis-je exécuter une fonction sur un événement sur un élément sauf un avec jQuery?
$(":not('#myelement')").bind('mousedown', function() {
console.log('mousedown event');
});
mais quand je clique #myelement, la fonction est exécutée de toute façon, parce que le sélecteur sélectionner tous les parents. De plus, la fonction est exécutée pour chaque parent. Comment puis-je: -exécuter la fonction une seule fois? -ne pas exécuter la fonction sur mon élément?
Voici le numéro complet:
$("#current_page a").toggle(
function(){
$("#current_menu").hide();
return false;
},
function(){
$("#current_menu").show();
return false;
}
);
$(":not(#current_page a)").bind('mousedown',function() {
$("#current_menu").hide();
});
En cliquant sur « #current_page un », l'événement MouseDown est déclenché, et je ne veux pas.
grâce jul
Le problème est que $ (« : non (#foo) ») sélectionne également l'élément parent de #foo. Donc quand je souris sur foo, je souris aussi sur le parent, et l'événement est déclenché. – jul