首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >stopPropagation()不工作

stopPropagation()不工作
EN

Stack Overflow用户
提问于 2014-09-11 14:30:26
回答 2查看 121关注 0票数 0

当点击图像时,我想停止冒泡。我不能根据需要在href上设置javascript void。我使用过stopPropagation,但它不起作用。

代码语言:javascript
复制
function showurl(e){
    e.stopPropagation()
    window.location="http://www.yahoo.co.in"
    }

<a href="http://www.google.com">
<img src="http://media.expedia.com/media/content/shared/images/navigation/expedia.co.in.png" onclick="showurl(event)" />
</a>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-11 14:32:09

由于这是一个jQuery问题,我建议永远不要使用onclick属性。它们只支持单个处理程序,而且它们“丑陋”(读起来:更难找到和维护) :)

代码语言:javascript
复制
$('img").onclick = function(e) {
     e.preventDefault();
     window.location="http://www.yahoo.co.in";
}

代码语言:javascript
复制
$('img").onclick = function() {
     window.location="http://www.yahoo.co.in";
     // return false here does the same as e.stopPropagation() and e.preventDefault();
     return false;
}

由于此处理程序适用于所有img元素,因此您可能需要数据驱动整个事件(使用属性),如下所示:

将目标url作为data-url属性放在图像中

代码语言:javascript
复制
<a href="http://www.google.com">
<img src="http://media.expedia.com/media/content/shared/images/navigation/expedia.co.in.png"
     data-url="http://www.yahoo.co.in" />
</a>

从代码上讲:

代码语言:javascript
复制
$('img").onclick = function(e) {
     // See if image has a data-url attribute
     var url = $(this).data('url');
     if (url){
         window.location=url;
         // only prevent default if it was an image with a link attribute
         e.preventDefault();
     }
}
票数 1
EN

Stack Overflow用户

发布于 2014-09-11 14:40:02

我建议从JS绑定它,即使使用基本的onclick,然后使用return false;preventDefault。(演示)

代码语言:javascript
复制
document.getElementsByTagName("img")[0].onclick = function() {
    window.location="http://www.yahoo.co.in";
    return false;
}

HTML

代码语言:javascript
复制
<a href="http://www.google.com">
    <img src="http://media.expedia.com/media/content/shared/images/navigation/expedia.co.in.png" />
</a>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25790161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档