正文

层中层事件问题2007-09-21 15:44:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wangsdong/29574.html

分享到:

今天遇到的问题是这样的:
 两个层,一个外层,一个内层,两个层都有onclick事件,点击外层,打开google页面,点击内层,打开baidu页面,我是这样做的
<div onclick="window.open('http://www.google.cn')" style="width:250px;background-color:yellow"> 
 <p>google.cn</p> 
 <div onclick="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 onclick="window.open('http://www.google.cn');" style="width:250px;background-color:cyan;"> 
 <p>google.cn</p> 
 <div onclick="doSomething('http://www.baidu.com',event);" style="width:200px;background-color:lightblue;"> 
 <p>baidu.com</p> 
 </div> 
 <p>google.cn</p> 
</div>  
 来源:jb51

阅读(2622) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册