【问题标题】:Perform redirect without bubbling click event执行重定向而不冒泡点击事件
【发布时间】:2013-11-05 16:34:27
【问题描述】:

我在 div 中有一个锚元素。我正在听这两个元素的点击事件。当用户单击“a”元素时,我需要防止单击事件冒泡。但我需要保持锚点正常工作:用户必须被重定向到“href”页面:

HTML:

<div id="myDiv">
    <a id="myLink" href="www.website.com">Click me</a>
</div>

JS:

$("#myLink").click(function() {
    // DO SOME STUFF

    return false;   // To prevent bubble
});

// This event handler has to be called only when the user clicked inside the div, but outside the link
$("#myDiv").click(function() {
    // DO SOME STUFF
});

问题是用户没有被重定向到“www.website.com”。如何做到这一点?

【问题讨论】:

  • e.stopPropagation() 用于防止冒泡.. 不返回 false。返回 false 将阻止它重定向。(阻止默认操作)

标签: jquery html events event-bubbling jquery-click-event


【解决方案1】:

您没有正确阻止事件冒泡。

$("#myLink").click(function(e) {


    e.stopPropagation(); // this will prevent bubbling.
});

// This event handler has to be called only when the user clicked inside the div, but outside the link
$("#myDiv").click(function() {
    // DO SOME STUFF
});

您可以在此处阅读有关 event.stopPropagation() 的更多信息:http://api.jquery.com/event.stopPropagation/

如果你想重定向,你必须使用:

window.navigate('url-goes-here');

【讨论】:

猜你喜欢
  • 2017-12-02
  • 1970-01-01
  • 1970-01-01
  • 2011-03-19
  • 1970-01-01
  • 2015-01-30
  • 1970-01-01
  • 2012-12-18
  • 2018-08-24
相关资源
最近更新 更多