【发布时间】:2012-01-26 17:53:48
【问题描述】:
就像这个例子: http://jsfiddle.net/nicaia/6cHxR/
js代码:
$('#checkbox_id').bind('change',function({
alert('change');
}).bind('click',function(event){
alert('click');event.preventDefault();
});
在 chrome 中单击复选框将显示:
alert 'change' 和 alert 'click' 不勾选复选框。(先取消勾选复选框)
在 Firefox 中单击复选框将显示: alert 'click' 并且不会选中复选框。(复选框先取消选中。)
在 Firefox 中不会触发更改。 我不知道为什么。有人可以告诉我吗?
谢谢。
【问题讨论】:
-
我认为这是因为复选框在警报后失去焦点。因此不会触发“更改”事件api.jquery.com/change
-
但在 chrome 中会触发更改事件。
-
linkthis question和我的问题有点像。并感谢@Nicola
-
@Sergey 如果您将 alert 替换为 console.log,您会发现同样的问题。
标签: jquery firefox google-chrome bind