1

I'm trying to find a way to prevent input[type='checkbox'] from triggering the click event when I change his state with jquery.

Is it possible?

4

2 回答 2

3

如果.prop()checked属性上使用,则不会触发点击事件:

$("input[type='checkbox']").click(function() {
  alert('checkbox clicked');
});
$('#mycheckbox').prop('checked', true);
$('#mycheckbox').prop('checked', false);
$('#mycheckbox').prop('checked', true);
$('#mycheckbox').prop('checked', false);
$('#mycheckbox').prop('checked', true);

http://jsbin.com/ecIQUle/3/edit

于 2013-10-20T23:41:28.403 回答
0

根据您要执行的操作,以下其中一项可能会有所帮助:

  • false从事件处理程序返回:<input type=checkbox onclick="return false;"></input>
  • 使用 jQuery 的preventDefault
  • 使用 jQuery 的stopPropagation

最后一个可能更正确。

于 2013-10-20T23:40:19.450 回答