Ich verwende jQuery v.1.7.1, wo die .live () -Methode anscheinend veraltet ist.
Das Problem, das ich habe, ist, dass beim dynamischen Laden von HTML in ein Element mit:
$('#parent').load("http://...");
Wenn ich danach versuche, ein Klickereignis hinzuzufügen, wird das Ereignis mit keiner der folgenden Methoden registriert:
$('#parent').click(function() ...);
oder
// according to documentation this should be used instead of .live()
$('#child').on('click', function() ...);
Was ist der richtige Weg, um diese Funktionalität zu erreichen? Es scheint nur mit .live () für mich zu funktionieren, aber ich sollte diese Methode nicht verwenden. Beachten Sie, dass #child ein dynamisch geladenes Element ist.
Vielen Dank.
.live()
ansehen, erfahren Sie, wie Sie vorhandene Verwendungen von .live()
zu verwenden .delegate()
oder umschreiben .on()
(je nachdem, ob Sie Version 1.7+ verwenden oder nicht). Beachten Sie jedoch, dass, wenn Sie einen Handler mit .click()
"after" hinzufügen, wie Sie bereits erwähnt haben, dh nach dem dynamischen Laden von Elementen, dies funktionieren sollte - das einzige Problem besteht darin, .click()
vor dem dynamischen Laden von Elementen eine Zuweisung vorzunehmen.