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

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

可能吗?

如果对checked属性使用.prop() ,则不会触发任何click事件:

 $("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

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

  • 从事件处理程序返回false
  • 使用jQuery的preventDefault
  • 使用jQuery的stopPropagation

最后可能更正确。