禁用链接时限制jQuery确认对话框

时间:2013-04-15 12:29:18

标签: jquery html anchor

我有一个链接:

<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()可以做到这一点,但唉,它没有。

我该如何阻止这种情况?

1 个答案:

答案 0 :(得分:2)

正如@ martincarlin87所说。在防止默认后,解决方案是return false。我希望这不是必需的,但对我的问题的回复评论似乎回答了它。

  

preventDefault会阻止事件的默认操作,但不会   防止执行处理程序。 - 未定义

<强>更新

提出其中一条评论。 @mcpDESIGNS表示e.stopPropagation()会阻止即将发生的事件处理程序。通过return false执行e.preventDefault()e.stopPropagation()