zoukankan      html  css  js  c++  java
  • js实现的点击div区域外隐藏div区域(转)

    首先看下JS的事件模型,JS事件模型为向上冒泡,如onclick事件在某一DOM元素被触发后,事件将跟随节点向上传播,直到有click事件绑定在某一父节点上,如果没有将直至文档的根。

    阻止冒泡:

    1、stopPropagation()对于非IE浏览器。

    2、cancelBubble属性为true,对于IE浏览器,而Jquery已经有兼容浏览器的方法,event.stopImmediatePropagation();

    <!DOCTYPE html>
    <html>
        
        <head>
            <meta charset="utf-8" />
            <script type="text/javascript" src="js/jquery-1.4.4.min.js">
            </script>
            <title>
            </title>
        </head>
        <style type="text/css">
            body { background-color:#999999; } #myDiv { background-color:#FFFFFF;
            width:250px; height:250px; display:none;       }   
        </style>
        
        <body>
            <input id="btn" type="button" value="显示DIV" />
            <div id="myDiv">
                This is a div;
            </div>
        </body>
        <script type="text/javascript">
                
            var myDiv = $("#myDiv");
            $(function() {
                $("#btn").click(function(event) {
                    showDiv(); //调用显示DIV方法
                    $(document).one("click",
                    function() { //对document绑定一个影藏Div方法
                        $(myDiv).hide();
                    });
    
                    event.stopPropagation(); //阻止事件向上冒泡
                });
                $(myDiv).click(function(event) {
    
                    event.stopPropagation(); //阻止事件向上冒泡
                });
            });    
            function showDiv() {
                $(myDiv).fadeIn();
            }
        </script>
  • 相关阅读:
    Java 正则表达式
    连续子数组最大和
    背包问题
    二叉树的数组存储
    各种鸟
    mac关闭和开启启动声
    关于栈和队列随想
    linux主机名 hostname
    mysql创建新用户并且授权远程访问
    关于linux的用户
  • 原文地址:https://www.cnblogs.com/shenyixin/p/5782742.html
Copyright © 2011-2022 走看看