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

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

  <li class="xb_li1" onclick="window.open('')">精英团队</li>
<li class="xb_li1" onclick="window.open('')">720°全景</li>
<li class="xb_li1" onclick="window.open('')">装修选材</li>
<li class="xb_li1" onclick="window.open('')">装修攻略</li>
<li class="xb_li1" onclick="window.open('')">关于我们
<ul>
<li onclick="window.open('')">公司简介</li>
<li onclick="window.open('')">公司荣誉</li>
<li onclick="window.open('')">公司历程</li>
<li onclick="window.open('')">发展历程</li>
<li onclick="window.open('')">联系我们</li>
</ul>
13 </li>

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

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

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

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

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

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

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

window.open('') 火狐,IE事件冒泡处理,点击事件冒泡处理的更多相关文章

  1. js 各种事件 如:点击事件、失去焦点、键盘事件等

    事件驱动:        我们点击按钮 按钮去掉用相应的方法.                demo:             <input type="button" v ...

  2. javascript基础1 语法 点击事件 超链接带点击事件

    javascript ----------------------------------------------------------------------------------------- ...

  3. html 获取鼠标左键事件,滚轮点击事件,右键点击事件

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  4. 关于伪类after后续追加,实现js事件(如点击事件)

    实现情况为:点击"编辑"后,"编辑"文字变成"完成",再点击伪类元素后的"完成",此时的"完成"应该 ...

  5. easyUI datagrid中checkbox选中事件以及行点击事件,翻页之后还可以选中

    DataGrid其中与选择,勾选相关 DataGrid属性:singleSelect boolean 如果为true,则只允许选择一行. false ctrlSelect boolean 在启用多行选 ...

  6. ListView中itemz中控件的点击事件和条目点击事件冲突

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  7. Swift UITableView嵌套UICollectionView点击事件冲突(点击事件穿透)

    不管是啥都响应tableviewcell class JYShopCertificationCell: UITableViewCell { override func hitTest(_ point: ...

  8. JQuery给一个元素绑定两次点击事件(第二次点击事件)

    由于项目的要求,需要给复选框设置样式,初始样式:,第一次点击的时候显示,第二次点击时候需要改变该样式:. 设计思路: 当点击次数为奇数时显示带有颜色的图片 当点击次数为偶数时显示没有颜色的图片 下边是 ...

  9. [置顶] Android源码分析-点击事件派发机制

    转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17339857 概述 一直想写篇关于Android事件派发机制的文章,却一直没 ...

  10. Android源码分析-点击事件派发机制

    转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17339857 概述 一直想写篇关于Android事件派发机制的文章,却一直没 ...

随机推荐

  1. RF射频技术的原理

    [摘要]射频技术(RF)是Radio Frequency的缩写.较常见的应用有无线射频识别(Radio Frequency Identification,RFID),常称为感应式电子晶片或近接卡.感应 ...

  2. jmeter-linux下运行

    1.2 在命令行下运行脚本 将1.1中的脚本保存,在编辑是随时可以保存,保存后是一个jmx格式的文件(如图),这个就是要在命令行下运行的脚本(作为参数运行).这个脚本文件可以不包含1.1中第四和第五步 ...

  3. mac安装brew 软件包管理工具Homebrew

    brew 全称Homebrew  是Mac OSX上的软件包管理工具 Homebrew 安装和卸载工具 只用一行命令就能完成 官方地址:    http://brew.sh/index.html   ...

  4. day 54 linux 常用指令入门

    Linux文件系统结构 Linux目录结构的组织形式和Windows有很大的不同.首先Linux没有“盘(C盘.D盘.E盘)”的概念.已经建立文件系统的硬盘分区被挂载到某一个目录下,用户通过操作目录来 ...

  5. 字蛛fontSpider的使用

    字蛛官方文档 http://font-spider.org/index.html 首先安装全局包  npm install font-spider -g 然后下载字体 ,本次需要的是  "造 ...

  6. WebDriverAPI(7)

      查看页面元素的属性 测试网址 http://www.baidu.com Java语言版本API实例 @Test public void getWebElementAttribute() { dri ...

  7. GODADDY 优质DNS 未被墙

    下面列出的是我本地测试出的优质服务器 NS10.DOMAINCONTROL.COM NS12.DOMAINCONTROL.COM NS14.DOMAINCONTROL.COM NS19.DOMAINC ...

  8. SC Create 创建一个Windows系统服务 转

        转自:http://www.360doc.com/content/13/0428/09/7555793_281451268.shtml sc create Serv-U binpath= &q ...

  9. funny alphabet

    1.A Boy Can Do Everything For Girl 2. He Is Just Kidding 3. Love Must Need Our Patience

  10. after_create and after_commit

    A relational database, like mysql, provides transactions to wrap several operations in one unit, mak ...