Machen datepicker-live - JQuery
Ich weiß, wenn Sie ein element erstellen, die dynamisch sind, haben Sie etwas verwenden wie:
$("#id").live("click", function() {
//something
});
Jetzt habe ich dieses:
$('#tdInput1').datepicker({
inline: true
});
Meine Frage ist: wie Mach ich das live so kann es die Interaktion mit dynamisch erstellten Elementen.
- So, die Sie ausführen möchten
.datepicker({})
auf bestimmte Elemente, wie Sie sind dynamisch in das DOM geladen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut: Jquery .live funktioniert aber nicht mit .datepicker
Sollte dies funktionieren:
edit: Diese Antwort ist für ältere Versionen von jQuery. Für jQuery 1.9+ bitte versuchen Sie Vishal Antwort.
Die akzeptierte Lösung wird nicht funktionieren mit den Tastatur-Fokus-Veranstaltungen.. also ich hatte zu ändern, um diese:
Ändern musste
.live
zu.on
da jquery 1.9.1 nicht die.live
Methode. Die oben genannten arbeiten für die Maus-Ereignisse sowie den Tastatur-Fokus-Ereignisse.Du hast es mit zwei verschiedenen Dinge. jQuery
live
ist für die Veranstaltung verbindlich, währenddatepicker
ist nicht spezifisch gebunden an ein Ereignis, sondern einfach fügt Funktionalität, um ein element zu einem Zeitpunkt.Der einzige Grund
live
arbeitet mit events ist, dass jQuery tatsächlich legt der event-handler zu einem übergeordneten element, und (Dank der Art und Weise Ereignisse, sprudeln in javascript), die Vorfahren tatsächlich erhält die Veranstaltung und die Delegierten, als ob es kam aus dem element. Das Prinzip ist kompliziert, aber lang und kurz, es konnte nur funktionieren mit events.Wenn Sie hinzufügen möchten datepicker-Funktionalität, rufen Sie einfach die
datepicker
- Funktion auf das neue element, nachdem es erstellt wurde.Ich denke, dass mehr die richtige Lösung ist: