Heim >Web-Frontend >js-Tutorial >Wie kann ich Ereignisse auf dynamisch generierten Elementen in jQuery verarbeiten?

Wie kann ich Ereignisse auf dynamisch generierten Elementen in jQuery verarbeiten?

DDD
DDDOriginal
2025-01-03 17:59:42340Durchsuche

How Can I Handle Events on Dynamically Generated Elements in jQuery?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn