我们如何设置 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>

更新于:2019 年 12 月 11 日

872 次浏览

开启你的 事业

完成课程获得认证

立即开始
广告