如何排列 jQuery 事件的优先级?
要排列 jQuery 事件的优先级,请使用 event.stopPropagation()。
示例
你可以尝试运行以下代码来了解如何使用 stopPropogation() 方法排列优先级
<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script> $(document).ready(function(){ var timer; function out(s) { if (timer) { clearTimeout(timer); timer = null; } $("#demo").append(s + "<br>"); timer = setTimeout(function() { $("#demo").append("-------" + "<br>"); timer = null; }, 100); } $(".li").find('input').click(function(e){ out('li>input'); if ($(this).parent().hasClass("stop")) { e.stopPropagation(); } }); $(".li").click(function(e){ out('li'); }); $('input').click(function(e){ out('input'); if ($(this).parent().hasClass("stop")) { e.stopPropagation(); } }); }); </script> </head> <body> <ul> <li class="li"><input type="checkbox" /><span>Demo</span></li> <li class="li stop"><input type="checkbox" /><span>Demo using stop propagation method</span></li> </ul> <div id="demo"></div> </body> </html>
广告