Ereignisbehandlung für dynamisch generierte Elemente
Wenn Sie Elemente mithilfe von Methoden wie Load() oder Click() von jQuery dynamisch generieren, werden ausgelöste Ereignisse erfasst durch diese Elemente kann eine Herausforderung sein. Die an statische Elemente angehängten Standard-Ereignishandler funktionieren möglicherweise nicht für dynamisch generierte Elemente.
Die Lösung: Ereignisdelegierung
Ereignisdelegierung ist eine Technik, mit der Sie Ereignisse verarbeiten können die aus dynamisch erzeugten Elementen aufsprudeln. Indem Sie das Ereignis an ein statisches Vorgängerelement delegieren, stellen Sie sicher, dass es vorhanden ist, wenn der Ereignishandler gebunden ist.
Verwendung der .on()-Methode von jQuery
Für jQuery-Versionen 1.7 oder höher verwenden Sie die Methode .on(), um die zu delegieren Ereignis:
$('#modal').on('keyup', 'input', function() { handler = $(this).val(); name = $(this).attr('name'); });
Verwenden der .delegate()-Methode von jQuery (ältere Versionen)
Für ältere jQuery-Versionen (1.6 oder niedriger) verwenden Sie die .delegate()-Methode Methode stattdessen:
// Note the different order of selector and event $('#modal').delegate('input', 'keyup', function() { handler = $(this).val(); name = $(this).attr('name'); });
Durch die Verwendung der Ereignisdelegation können Sie Ereignisse, die durch dynamisch generierte Elemente ausgelöst werden, effektiv verarbeiten, ohne Sorgen um die Reihenfolge der Elementerstellung und Ereignisbindung.
Das obige ist der detaillierte Inhalt vonWie kann ich Ereignisse auf dynamisch generierten Elementen in jQuery verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!