Maison > Article > interface Web > Explication détaillée de la différence entre utiliser on au lieu de délégué et vivre dans jQuery
Au début, lors de l'attribution de événements ou de valeurs à des éléments dynamiques chargés plus tard sur la page, live était utilisé en raison de sa faible efficacité (en fait, là-bas. il n'y a pas beaucoup de données et cela ne se ressent pas) ), et plus tard, utilisez délégué à la place. Plus tard, après la version 1.7, on est utilisé à la place de délégué. Live et délégué peuvent toujours être utilisés dans la nouvelle version. méthodes d'écriture. Si vous n'écrivez pas pendant un certain temps, il sera facile de vous perdre. Notez-le. Si vous cliquez sur un bouton dans p pour ajouter un nouveau bouton :
<.>
Page :
<div id="panel"> <input type="button" name="name" value="clone"class="btnAdd" /> </div>
Script :
1.1 en utilisant live
jQuery version 1.3+
$('.btnAdd').live('click', function () { $(this).clone().appendTo('#panel'); });
1.2 Changer directement live en on, sans donner de portée telle que #panel . Ceci est efficace pour le bouton qui se trouve sur la page au début. Autrement dit, Cela ne peut pas remplacer directement le live
$('.btnAdd').on('click', function () { $(this).clone().appendTo('#panel'); });<.>
jQuery version 1.4.3+
$('#panel').delegate('.btnAdd', 'click', function () { $(this).clone().appendTo('#panel'); });
3.使用on 给它一个范围才行,如#panel,让它到里面找. 这样可以实现live和delegate一样的效果.
里面的'click', '.btnAdd'跟上面的delegate是相反的.只要记住on click是挨在一起的就行了.
jQuery版本1.7+
$('#panel').on('click', '.btnAdd', function () { $(this).clone().appendTo('#panel'); });
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!