zoukankan      html  css  js  c++  java
  • js阻止冒泡和默认事件(默认行为)详解- jquery DefaultPrevented 函数

    <!DOCTYPE html>
    <html>
      
      <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
          #box {
             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()阻止了默认的行为。
    https://www.tongbiao.xyz/
  • 相关阅读:
    常见寻找OEP脱壳的方法
    Windows内核原理系列01
    HDU 1025 Constructing Roads In JGShining's Kingdom
    HDU 1024 Max Sum Plus Plus
    HDU 1003 Max Sum
    HDU 1019 Least Common Multiple
    HDU 1018 Big Number
    HDU 1014 Uniform Generator
    HDU 1012 u Calculate e
    HDU 1005 Number Sequence
  • 原文地址:https://www.cnblogs.com/tongbiao/p/6801392.html
Copyright © 2011-2022 走看看