window.open('') 火狐,IE事件冒泡处理,点击事件冒泡处理
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事件冒泡处理,点击事件冒泡处理的更多相关文章
- js 各种事件 如:点击事件、失去焦点、键盘事件等
事件驱动: 我们点击按钮 按钮去掉用相应的方法. demo: <input type="button" v ...
- javascript基础1 语法 点击事件 超链接带点击事件
javascript ----------------------------------------------------------------------------------------- ...
- html 获取鼠标左键事件,滚轮点击事件,右键点击事件
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 关于伪类after后续追加,实现js事件(如点击事件)
实现情况为:点击"编辑"后,"编辑"文字变成"完成",再点击伪类元素后的"完成",此时的"完成"应该 ...
- easyUI datagrid中checkbox选中事件以及行点击事件,翻页之后还可以选中
DataGrid其中与选择,勾选相关 DataGrid属性:singleSelect boolean 如果为true,则只允许选择一行. false ctrlSelect boolean 在启用多行选 ...
- ListView中itemz中控件的点击事件和条目点击事件冲突
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- Swift UITableView嵌套UICollectionView点击事件冲突(点击事件穿透)
不管是啥都响应tableviewcell class JYShopCertificationCell: UITableViewCell { override func hitTest(_ point: ...
- JQuery给一个元素绑定两次点击事件(第二次点击事件)
由于项目的要求,需要给复选框设置样式,初始样式:,第一次点击的时候显示,第二次点击时候需要改变该样式:. 设计思路: 当点击次数为奇数时显示带有颜色的图片 当点击次数为偶数时显示没有颜色的图片 下边是 ...
- [置顶] Android源码分析-点击事件派发机制
转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17339857 概述 一直想写篇关于Android事件派发机制的文章,却一直没 ...
- Android源码分析-点击事件派发机制
转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17339857 概述 一直想写篇关于Android事件派发机制的文章,却一直没 ...
随机推荐
- jQuery Validation Plugin
使用方式很简单,简单测试代码如下: <html> <head> <script type="text/javascript" src="./ ...
- ReentrantReadWriteLock源码分析(一)
此处源码分析,主要是基于读锁,非公平机制,JDK1.8. 问题: 1.ReentrantReadWriteLock是如何创建读锁与写锁? 2.读锁与写锁的区别是什么? 3.锁的重入次数与获取锁的线程数 ...
- IQKeyboardManager 问题锦集
Keep UINavigationBar at the top (Don't scroll with keyboard) (#21, #24) If you don't want to hide th ...
- vim实践学习
http://coolshell.cn/articles/5426.html http://www.lagou.com/jobs/138351.html awk:http://coolshell.cn ...
- EF基础知识小记七(拆分实体到多个表以及拆分表到多个实体)
一.拆分实体到多个表 1.在日常开发中,会经常碰到一些老系统,当客户提出一些新的需求,这些需求需要在原来的表的基础上加一些字段,大多数人会选择通过给原表添加字段的方式来完成这些需求,方法,虽然可行,但 ...
- webpack使用来打包前端代码
使用webpack打包js文件(隔行变色案例) 1.webpack安装的两种方式 运行npm i webpack -g全局安装webpack,这样就能在全局使用webpack的命令 在项目根目录中运行 ...
- 【转】如何选择Html.RenderPartial和Html.RenderAction
Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的. Html.RenderPartial是直接将用户控件嵌入到界面上: <%Htm ...
- IDEA里点击Build,再Build Artifacts没反应,灰色的?解决办法(图文详解)
不多说,直接上干货! 问题详情 如下:点击Build ,再 Build -> Build Artifacts,没反应??? 解决办法 1.File,再Project Structure 2.然后 ...
- Eclipse *的安装(图文详解)
不多说,直接上干货! 前期博客 Eclipse *下载 可以直接解压,再配置JDK,即可使用. 结束 欢迎大家,加入我的微信公众号:大数据躺过的坑 人工智能躺过的坑 同时, ...
- 详解C#委托和事件(一)
委托(Delegate)是安全封装方法的类型,类似于C和C++中的函数指针,与函数指针不同的是,委托是面向对象的.类型安全的和可靠的: 一.委托类型是CTS中五种基础类型之一,是一种引用类型,表示对具 ...