• window.open('') 火狐,IE事件冒泡处理,点击事件冒泡处理


    window.open('') 火狐,IE事件冒泡处理,点击事件冒泡处理

    写PC下拉菜单的时候,hover样式显示下拉菜单,可能会这样写

     1  <li class="xb_li1" onclick="window.open('')">精英团队</li>
     2       <li class="xb_li1" onclick="window.open('')">720°全景</li>
     3       <li class="xb_li1" onclick="window.open('')">装修选材</li>
     4       <li class="xb_li1" onclick="window.open('')">装修攻略</li>
     5       <li class="xb_li1" onclick="window.open('')">关于我们
     6       <ul>
     7          <li onclick="window.open('')">公司简介</li>
     8          <li onclick="window.open('')">公司荣誉</li>
     9          <li onclick="window.open('')">公司历程</li>
    10          <li onclick="window.open('')">发展历程</li>
    11          <li onclick="window.open('')">联系我们</li>
    12      </ul>
    13 </li>

    这样的话点击的时候会发生很尴尬的事情,谷歌点击很正常,但是火狐点击二级菜单的时会打开两个新页面,分别是当前点击的链接页面和父级的链接 ,分别打开“关于我们”和“公司简介”子元素的链接

    那么如何阻止 click 事件冒泡到父元素:

    这里需要做兼容处理,小编修改成了如下代码:

    1 <li class="xb_li1" data-url="http://www.runoob.com">装修案例
    2     <ul>
    3         <li data-url="https://www.cnblogs.com">中央国际</li>
    4         <li data-url="https://www.cnblogs.com">万科云岩大都会</li>
    5         <li data-url="https://www.cnblogs.com">观府壹号</li>
    6     </ul>
    7 </li>

    装修案列是父级元素,中国国际属于子元素,data-url  是自定义元素,用来存放链接的,然后js获取该链接

     1  //xb:codeBlockDescribe:菜单点击事件
     2     //给li添加点击事件
     3     $(".xbm_topBox .xb_menuBox li").click(function(event){
     4         //判断是否支持stopPropagation方式,ie不支持
     5         if (event && event.stopPropagation) {
     6             //W3C取消冒泡事件代码
     7             event.stopPropagation();
     8         } else {
     9             //IE取消冒泡事件支持代码
    10             window.event.cancelBubble = true;
    11         }
    12         //xb:codeBlockDescribe:两个自定义属性,data-url地址
    13         //$(this).attr("data-url") 获取当前点击元素的自定义属性值得
    14         //window.open新窗口打开页面,第一个参数为地址
    15             window.open($(this).attr("data-url"));
    16     })    

    小编亲测有效,感谢大家支持

    既使一个人,我依然在这里等着你
  • 相关阅读:
    vue:自定义指令
    vue 声明周期
    组件之间的通信
    vue动态组件keepalive
    vuecli的使用
    数据结构线性表(C#) 天高地厚
    HOOK钩子函数 天高地厚
    OSI模型 天高地厚
    HTTP 天高地厚
    说说JSONP 天高地厚
  • 原文地址:https://www.cnblogs.com/mibear/p/9234932.html
Copyright © 2020-2023  润新知