是否可以更改复选框状态而不会导致单击事件?

时间:2013-10-20 23:35:07

标签: javascript jquery events checkbox

当我用jquery更改状态时,我正试图找到一种方法来阻止input[type='checkbox']触发click事件。

有可能吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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

最后可能更正确。