2

我有一个链接:

<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()会做的伎俩,但可惜它没有。

我该如何防止这种情况?

4

1 回答 1

2

正如@martincarlin87 建议的那样。解决方案是return false在防止违约之后。我希望这不是必需的,但对我的问题的回复评论似乎回答了它。

preventDefault阻止事件的默认操作,它不会阻止处理程序的执行。- 不明确的

更新

提出其中一条评论。@mcpDESIGNS 表示e.stopPropagation()阻止即将到来的事件处理程序。通过这样return falsee.preventDefault()e.stopPropagation()

于 2013-04-15T12:36:51.770 回答