zoukankan      html  css  js  c++  java
  • 一个取消事件的简单js例子(事件冒泡与取消默认行为)

    先上代码:

    <div id='outer' onclick='alert("我是outer")'>
        <div id="middle" onclick='alert("我是middle")'>
            <div id="inner" onclick='myBubble(arguments[0]);alert("我是inner")'><a onclick='myDefault()' id='dd' href="http://www.baidu.com">js事件</a></div>
        </div>
    </div>
    <script>
    function myBubble(e){
        var e=e||window.event;
        e.stopPropagation?e.stopPropagation():(e.cancelBubble=true);
    }
    function myDefault(e){
        var e=e||window.event;//IE
        if(e.preventDefault)//标准
        {
            e.preventDefault();
        }
        else if('returnValue' in e )//IE,如果判断条件设成e.returnValue,在IE8及以下版本不识别,本例中点击后会跳转
        {
            e.returnValue=false;
        }
        return false;    //处理使用对象属性注册的处理程序
    }
    </script>

    上面的代码效果:仅弹出提示窗口“我是inner”。

    如果去掉dd中的myDefault函数,则:我是inner>>跳转到百度首页。

    如果将上面的两个函数都去掉:我是inner>>我是middle>>我是outer>>跳转到百度首页。

    上面的例子主要涉及到事件冒泡和取消默认行为两个方面。

  • 相关阅读:
    【转】进程与线程的一个简单解释
    折半查找
    BOJ 89 统计时间间隔
    BOJ 88 最值问题
    BOJ 87 日期
    QT杂记(网上资料整理而成)
    我的博客园
    【制作镜像】virsh
    【培训】MySQL
    ERROR 1045 (28000): Access denied for user 'root'@'localhost'
  • 原文地址:https://www.cnblogs.com/aaron-shu/p/4092821.html
Copyright © 2011-2022 走看看