jQuery .live()
wurde ab Version 1.9 entfernt.
Das heißt, wenn Sie ein Upgrade von Version 1.8 und früher durchführen, werden Sie feststellen, dass Probleme auftreten, wenn Sie die unten stehende Migrationsanleitung nicht befolgen. Sie dürfen nicht einfach ersetzen .live()
mit .on()
!
Lesen Sie, bevor Sie mit dem Suchen und Ersetzen beginnen:
Ersetzen Sie für schnelle / Hotfixes auf einer Live-Site nicht nur das Schlüsselwort live
durch on
,
da die Parameter unterschiedlich sind !
.live(events, function)
sollte zuordnen zu:
.on(eventType, selector, function)
Der (Kinder-) Selektor ist sehr wichtig! Wenn Sie dies aus irgendeinem Grund nicht verwenden müssen, setzen Sie es auf null
.
Migrationsbeispiel 1:
Vor:
$('#mainmenu a').live('click', function)
Danach verschieben Sie das untergeordnete Element ( a
) in den .on()
Selektor:
$('#mainmenu').on('click', 'a', function)
Migrationsbeispiel 2:
Vor:
$('.myButton').live('click', function)
Danach verschieben Sie das Element ( .myButton
) in den .on()
Selektor und suchen das nächste übergeordnete Element (vorzugsweise mit einer ID):
$('#parentElement').on('click', '.myButton', function)
Wenn Sie nicht wissen, was Sie als Eltern setzen sollen, body
funktioniert dies immer:
$('body').on('click', '.myButton', function)
Siehe auch:
return this;
am Ende der Funktion ein enthalten, um die Verkettungsfähigkeit zu erhalten