In den frühen Tagen wurde bei der Zuweisung von Ereignissen oder Werten zu dynamischen Elementen, die später auf der Seite geladen wurden, aufgrund der geringen Effizienz (tatsächlich) Live verwendet Es gibt nicht viele Daten und es ist nicht zu spüren) ), später wird stattdessen der Delegate verwendet, und später, nach 1.7, wird on anstelle von Delegate verwendet. Sowohl Live als auch Delegate können in der neuen Version weiterhin verwendet werden schriftlich. Es kann leicht zu Verwirrung kommen, wenn Sie eine Weile nicht schreiben. Schreiben Sie es also auf. Wenn Sie auf eine beliebige Schaltfläche in p klicken, um eine neue Schaltfläche hinzuzufügen:
Seite:
<div id="panel"> <input type="button" name="name" value="clone"class="btnAdd" /> </div>
Skript:
1.1 mit live
jQuery Version 1.3+
$('.btnAdd').live('click', function () { $(this).clone().appendTo('#panel'); });
1.2 Live direkt auf „on“ umstellen, ohne einen Bereich wie #panel This anzugeben gilt für die Schaltfläche am Anfang der Seite. Mit anderen Worten: Dies kann Live nicht direkt ersetzen > 2. Um den Delegaten zu verwenden, müssen Sie ihm einen Bereich zuweisen, z. B. #panel, lassen Sie ihn darin finden. Dies kann den gleichen Effekt wie live erzielen.
$('.btnAdd').on('click', function () { $(this).clone().appendTo('#panel'); });
jQuery Version 1.4.3+
3.使用on 给它一个范围才行,如#panel,让它到里面找. 这样可以实现live和delegate一样的效果.
里面的'click', '.btnAdd'跟上面的delegate是相反的.只要记住on click是挨在一起的就行了.
jQuery版本1.7+
$('#panel').on('click', '.btnAdd', function () { $(this).clone().appendTo('#panel'); });
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung des Unterschieds zwischen der Verwendung von „on' anstelle von „delegate' und „live' in jQuery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!