我的脚本中有一个复选框的两个事件,一个点击,另一个点击更改。 当我点击它时,它首先触发更改事件然后点击Chrome中的事件,但在Firefox中它反向。有没有办法在Firefox中更改它的顺序?
答案 0 :(得分:1)
我不知道为什么触发事件的顺序在浏览器之间是不一致的,但是我不明白为什么你不能把所有东西都移到一个change
处理程序中。如果你必须使用单独的处理程序,你可以添加一个超时,click事件仍然会在Firefox中首先触发,但是在更改处理程序触发之后它的代码才会被执行。
var myBoolean = false;
$('#example').on({
'click': function() {
setTimeout(function() {
console.log('clicked');
console.log(myBoolean);
}, 1);
},
'change': function() {
console.log('changed');
myBoolean = true;
}
});