2012-03-24 3 views
1

Ich habe eine ziemlich große Skript und ich versuche, herauszufinden, warum

$(document).on("click", function(event) { alert("hello"); } 

Brennen nicht. Gibt es einen einfacheren Weg herauszufinden, warum dies nicht funktioniert, als alle anderen Klickbindungen im gesamten Skript zu entfernen?

Außerdem habe ich gehört, dass Namespacing eine schöne Möglichkeit ist, Eventbindungen restriktiv zu einem bestimmten Plugin zu halten.

Wenn ja, wie würde ich Ereignisbindungen für bestimmte Ereignisgruppen einrichten? Ersetze ich "click" einfach durch "click.thisGroup"?

Danke für einige Eingabe!

+0

Überprüfen Sie auch die von Ihnen verwendete jquery-Version. Ich habe gestern die .on() ausprobiert und stelle fest, dass ich .live() hehe – chepe263

+0

yeah, ich lerne auch immer noch meine Wege mit on() und lehne mich gelegentlich hin() ... – frequent

Antwort

1

Ohne einen vollständigen Code, kann ich nur einige Möglichkeiten erraten .:

  1. Syntaxfehler; Sie schließen nicht Ihre Handler-Funktion Definition auf Ihrem Beispielcode

  2. das Element, das Sie hat einen Aufruf an stopPropagation() oder stopImmediatePropagation() sind anklicken, das so zu dokumentieren verhindert sprudelnden Ihr auf Ereignis verhindert angebracht

+0

danke für die edit matt :) –

+0

ok. Meine Konsole zeigt keine Fehler, aber die StopPropagation könnte eine Ursache sein. – frequent

+1

ok. habe es auf ein Plugin genagelt, das ich benutze. Mal sehen, wo es aufhört. Danke fürs Helfen! – frequent

0

Sie zu dokumentieren müssen ein Element angeben, auf das geklickt werden soll.

$(document).on("click", "someElement", function(event) { alert("hello"); } 
+2

Das stimmt nicht. Der Auswahlparameter ist optional. http://api.jquery.com/on/ –

+0

vor Jquery 1.7. $ (document) .bind ('click', function() {funktionierte perfekt. Ich bin mir ziemlich sicher, dass dies auch ohne Angabe eines Elements funktioniert. Außerdem brauche ich ALLE Klicks für meine Routine. – frequent

+0

Oh Entschuldigung, ich nahm an, dass du versucht hast dich zu konzentrieren auf einem einzelnen Element.Hätte nicht gedacht, dass es einen Grund für eine vollständige "Dokument" -Aufnahme gibt, aber ich nehme an, es ist ein gültiges Szenario. – Terry