jquery绑定函数在Firefox和Chrome之间具有不同的执行顺序

时间:2011-12-23 10:25:06

标签: jquery firefox google-chrome bind

就像示例: http://jsfiddle.net/nicaia/6cHxR/

js代码:

$('#checkbox_id').bind('change',function({
    alert('change');
}).bind('click',function(event){
    alert('click');event.preventDefault();
});
在Chrome中单击

复选框将显示:

提醒'更改'并提醒'点击',系统不会选中该复选框。(首先取消选中该复选框。)

并在firefox中单击该复选框将显示: 提示“点击”并且不会选中该复选框。(首先取消选中该复选框。)

在Firefox中不会触发更改。 我不知道为什么。有人可以告诉我吗?

感谢。

1 个答案:

答案 0 :(得分:0)

我认为Chrome与其他浏览器的行为不同。我试过这段代码:

$('#checkbox_id').bind('change',function(){
    alert('change');
}).bind('click',function(event){
    alert('click');
});

(小提琴:http://jsfiddle.net/6cHxR/8/) 并且Firefox在更改处理程序之前执行单击处理程序,而IE和chrome在单击处理程序之前执行更改处理程序。 我不认为你可以做很多事情