js阻止冒泡和默认事件(默认行为)详解- jquery DefaultPrevented 函数

<!DOCTYPE html>
<html>
  
  <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
      #box {
        width: 300px;
        height: 300px;
        background: red;
        display: none;
      }
    </style>
    <script type="text/javascript">
      window.onload = function() {
          var btn = document.getElementById('btn');
          var box = document.getElementById('box');
          btn.onclick = function(ev) {
            var oEvent = ev || event;
            box.style.display = 'block';
            //oEvent.cancelBubble = true;//高版本浏览器
            stopBubble(oEvent);
            //在低版本的chrome和firefox浏览器中需要兼容性处理
            //高版本chrome和firefox浏览器直接使用上面这行代码即可
          }
          document.onclick = function() {
            box.style.display = 'none';
          }
  
        }
        //阻止冒泡事件的兼容性处理
      function stopBubble(e) {
        if(e && e.stopPropagation) { //非IE
          e.stopPropagation();
        } else { //IE
          window.event.cancelBubble = true;
        }
      }
    </script>
  </head>
  
  <body>
    <input type="button" id="btn" value="语言" />
    <div id="box"></div>
  </body>
  
</html>

 

jquery DefaultPrevented转载

   

阻止默认事件行为的触发。

例如,在执行这个方法后,如果点击一个锚点,就不会让浏览器跳转到新的 URL 去了。我们可以用 event.isDefaultPrevented() 来确定这个方法是否(在那个事件对象上)调用过了。

 

  

<!DOCTYPE html>
 

<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
  </head>
  <body>
      <a href="http://www.3qhouse.com">default click action is prevented</a>
      <div id="log"></div>
       <script>
            $("a").click(function(event) {
               event.preventDefault();
               $('<div/>').append('default ' + event.type + ' prevented').appendTo('#log');
             });
       </script>
    </body>
  </html>


说明:对超级链接“<a>”,就有自身默认的跳转到新的URL行为,一旦给添加了js的点击事件,那么执行顺序是,首先执行click这个点击事件,然后才执行“<a>”的默认行为。
所以上面的示例中点击
之后,首先执行了jquery的click事件,而在click事件处理方法中通过event.preventDefaule()阻止了默认的行为。

posted on 2017-05-03 13:03  童彪  阅读(743)  评论(0编辑  收藏  举报

导航