我有一个链接:
<a id="my_link" data-method="post" data-confirm="Are you sure you want to do this?" class="btn btn-success disabled" href="#">My Link</a>
以下jQuery(在CoffeeScript中):
$('#my_link').click (e) ->
if $(this).hasClass('disabled')
e.preventDefault()
else
# Do other stuff
不幸的是,如果它具有disabled
类,则确认对话框仍然出现。我假设e.preventDefault()
可以做到这一点,但唉,它没有。
我该如何阻止这种情况?
答案 0 :(得分:2)
正如@ martincarlin87所说。在防止默认后,解决方案是return false
。我希望这不是必需的,但对我的问题的回复评论似乎回答了它。
preventDefault
会阻止事件的默认操作,但不会 防止执行处理程序。 - 未定义
<强>更新强>
提出其中一条评论。 @mcpDESIGNS表示e.stopPropagation()
会阻止即将发生的事件处理程序。通过return false
执行e.preventDefault()
和e.stopPropagation()
。