使用mousedown停止点击事件仅在触发警报时有效

时间:2016-05-20 14:18:37

标签: javascript jquery onclick mousedown

我试图通过从容器上的mousedown事件返回false来阻止正在运行的元素的子元素的已定义的onclick事件,如下所示:

submit_container.mousedown(function(event){
    return false;
});

如果我像这样编写代码,它就不起作用了。但是,如果我首先添加警报,则实际上会停止点击事件:

submit_container.mousedown(function(event){
    alert('Alert');
    return false;
});

here提到了同样的问题,但遗憾的是没有一个答案可以解决这个问题。

编辑:JSfiddle example。我想要第二个链接的行为,但不必触发警报

2 个答案:

答案 0 :(得分:1)

mousedown正在为容器类工作。您的问题是 a href附加了一个点击事件而不是鼠标按下。因此,您应该在容器或href上使用onclick作为事件传播将发生并冒泡到父级。你仍然可以阻止这种情况发生。

示例

submit_container.click(function(event){
    event.stopPropagation();
    event.preventDefault();
    return false;
});

希望这有帮助

答案 1 :(得分:0)

您使用的是jQuery吗?尝试使用“preventDefault”方法:

submit_container.mousedown(function(event){
    event.preventDefault();
    return false;
});