Maison > Article > interface Web > jquery empêche le bouillonnement d'événements et sa solution
Remarque : jquery ne prend plus en charge les événements en direct après la version 1.8
Problèmes rencontrés dans les projets réels, balises ajoutées dynamiquement
Live empêche le bouillonnement de se produire. Que vous utilisiez return false ou e.stopPropagation(), vous ne pouvez pas empêcher le bouillonnement de se produire
Ce qui suit est un exemple de mon propre résumé
<p id="box"> <a href="javascript:;" class="delete">init html</a> </p> <button id="add">add html</button>
$(function() { // 用click事件 $(document).click( function(event) { console.log('click'); event.stopPropagation(); }); // 用delegate事件 $(document).delegate('.delete','click', function(event) { console.log('delegate'); event.stopPropagation(); }); // 用live事件 $('.delete').live('click', function(event) { console.log('live'); event.stopPropagation(); //return false; }); // 新添加的a标签 $('#add').click(function() { var html = '<a href="javascript:;" class="delete">new html 1</a>'; $('#box').append(html); }); $('#box').click(function() { console.log('box emit'); }); });
Solution :
Nous savons que event.stopPropagation( ) a un impact négatif sur le clic. La prévention du bouillonnement est efficace, vous pouvez alors lier l'événement de clic à l'étiquette nouvellement ajoutée dynamiquement.
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!