zoukankan      html  css  js  c++  java
  • js下关于onmouseout、事件冒泡的问题经验小结

    问题是这样的:一个div元素要触发onmouseout事件,同时这个div内部还有子元素,于是当鼠标移动到该div的子元素上时,onmouseout事件也被触发了。在要做浮动层效果的时候会经常遇到这个问题。
    解决方法一:
    使用jQuery,这个大家都会的:
    复制代码 代码如下:
    <div id="div1">触发显示浮动层</div>
    <div id="div2">
    <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    </ul>
    </div>
    <script>
    $("#div1").mouseover(function(){


    $("#div2").show();


    $("#div2").bind("mouseleave",function(){


    $(this).hide();


    });//此句需要写在触发浮动层的函数内


    };);


    </script>

    解决办法二:
    利用onmousemove事件优先的办法,来防止在子元素中触发onmouseout:
    复制代码 代码如下:
    <div id="div1" onmouseover="document.getElementById('div2').style.display='block';">触发显示浮动层</div>
    <div id="div2" onmousemove='this.style.display="";' onmouseout='this.style.display="none";'>
    <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    </ul>
    </div>

    详细出处参考:http://www.jb51.net/article/25578.htm

  • 相关阅读:
    CSU 1122
    CSU 1256
    CSU 1240
    HDU 1874
    CSU 1004
    Problem F CodeForces 16E
    Problem E CodeForces 237C
    Problem C FZU 1901
    12-30
    2016-12-29
  • 原文地址:https://www.cnblogs.com/webqiand/p/4607860.html
Copyright © 2011-2022 走看看