博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
层中层事件问题
阅读量:6150 次
发布时间:2019-06-21

本文共 1037 字,大约阅读时间需要 3 分钟。

今天遇到的问题是这样的:

 两个层,一个外层,一个内层,两个层都有onclick事件,点击外层,打开google页面,点击内层,打开baidu页面,我是这样做的
<div οnclick="window.open('http://www.google.cn')" style="width:250px;background-color:yellow"> 
 <p>google.cn</p> 
 <div οnclick="window.open('http://www.baidu.com')" style="width:200px;background-color:orange"> 
 <p>baidu.com</p> 
 </div> 
 <p>google.cn</p> 
</div>  
当点击外层的时候,打开google,这里正确的;当点击内层时,出现了即打开baidu,又打开了google,这个效果不是我要的。经过向高人请教,他告诉我一种叫“阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)”可以解决这个问题,我在网上找了相关资料,终于解决了。代码如下:
<script type="text/javascript"> 
function doSomething (obj,evt) { 
 window.open(obj);
 var e=(evt)?evt:window.event; 
 if (window.event) { 
 e.cancelBubble=true; 
 } else { 
 e.stopPropagation(); 
 } 
</script> 
<div οnclick="window.open('http://www.gztarena.com/');" style="width:250px;background-color:cyan;"> 
 <p>google.cn</p> 
 <div οnclick="doSomething('http://www.baidu.com',event);" style="width:200px;background-color:lightblue;"> 
 <p>baidu.com</p> 
 </div> 
 <p>google.cn</p> 
</div>  

转载于:https://www.cnblogs.com/javaitpx/archive/2012/11/13/2767534.html

你可能感兴趣的文章
解决JS浮点数(小数)运算出现Bug的方法
查看>>
AI在闲鱼测试实践:如何应用AI技术通过图片找bug
查看>>
万豪数据泄漏门再敲警钟 酒店集团7步安全建议
查看>>
我的友情链接
查看>>
Oracle 11g数据库使用pl/sql developer进行数据导入与导出
查看>>
文件加密软件大全
查看>>
yum -y upgrade 和 yum -y update 区别
查看>>
Android项目依赖乱象之Gradle循环依赖
查看>>
cocos2d-x3.2 内存管理
查看>>
Hadoop上路_12-MapReduce流程演示
查看>>
JAVA Convert C#之语法
查看>>
Vagrant使用小结
查看>>
jstl 笔记
查看>>
安装GD-2.18报错
查看>>
PHP读写大“二进制”文件,不必申请很大内存(fopen、fread、fwrite、fclose)
查看>>
如何在Mac上用Ruby封装C/C++接口
查看>>
Hadoop 中 IPC 的源码分析
查看>>
Ubuntu 安装svn服务端
查看>>
求最大公约数(C++)
查看>>
Android 之窗口小部件高级篇--App Widget 之 RemoteViews
查看>>