jQuery das Dollarzeichen Verwirrung

Ich bin ein bisschen verwirrt in Bezug auf den dollar-Zeichen in jQuery, und hatte gehofft, jemand könnte mir helfen.

Habe ich die folgende Funktion Erklärung:

$(function() {
    $( "#create-discussion" ).button().click(function() {
        alert("Clicked");
    });

    $( "#listitems tr" ).click(function(event) {
        alert("clicked");
    });
});

Für einige Grund, die erste Funktion Erklärung für das "create-Diskussion" - button funktioniert perfekt; wenn geklickt, ein popup erscheint. Doch die zweite nicht funktioniert, und keine popup generiert wird, wenn ich Sie auf den Zeilen der Tabelle.

Ist dies eine nuance in Bezug auf die-Taste onClicks versus Tabelle-Zeile onClicks? Bin ich etwas fehlt dummerweise offensichtlich?

Außerdem denke ich, dass es helfen würde, ein Haufen wenn jemand erklärt, was $(function() {}) tatsächlich, wie ich bin, behandeln Sie es wie $(document).ready(), und ich bin mir nicht sicher, ob ich das tun kann.

  • Es ist genau eine short-cut für das document-ready-event-handler. Die zwei sind funktional gleichwertig. Das ist zu sagen, dass ist nicht Ihr problem.
  • Nur versuchen, zu konvertieren $("#listitems tr") zu $("#listitems tr td"). (Nur so ein Gedanke.)
  • Tun Sie der Tabelle Zeilen existieren, wenn die $("#listitems tr") - handler gebunden ist? Beachten Sie, dass die event-Handler, die traditionell nur mit der vorhanden Elemente. Wenn Sie möchten, dass ein Werk auf die zukünftigen Elemente, die Sie benötigen, um die Verwendung von live-Handler (api.jquery.com/live).
  • Was ist mit diesem button() Funktion?
  • Mike, ich glaube, Sie können haben es genagelt - meine Tabelle ist dynamisch aufgefüllt mit einem server-Abfrage nach diesem code aufgerufen wird. Blick auf die live-Handler link, den Sie erwähnt jetzt. 🙂 Bitte reichen Sie eine Antwort, so kann ich Ihnen Kredit!
  • Jack Billy, das erste element wird ein Eingabe-Taste, nicht eine Zeile in der Tabelle. Die "td" - Zusatz hat nicht funktioniert, ich denke, das problem ist das, was Mike vorgeschlagen.
  • Die Taste () - Funktion ist Teil von jQuery UI. Ich wollte vorschlagen er sicher war, verweisen auf die jQuery UI-Bibliothek als gut, aber wie es scheint hat Mike sortiert die aktuelle Ausgabe.
  • Danke!
  • Ja, Mike hat es, sobald ich live-Handler, es hat alles Super geklappt. 🙂 Mike, der post eine Antwort!!! 😛

InformationsquelleAutor sichinumi | 2011-06-03
Schreibe einen Kommentar