jquery觸發兩次onchange事件
阿新 • • 發佈:2017-07-31
chang 標簽 settime onchange 發現 公告 變量 全局變量 query
在項目中需要給select綁定改變事件,來觸發動作,但是發現改變一次select,onchange方法執行兩遍
//公告類別的變更時間聯動公告模板
$("#test").change(function () {
alert(1);
})
後來給select 標簽添加一個onchange屬性也會觸發兩次,這個onchange時間的機制是,在獲取焦點之後,儲存一個select裏面的值,當發現這個值改變的時候,觸發onchange事件
目前僅在IE8下發現此類問題,我僅測試了IE8/Chrome25/Firefox19
網上說可以通過一個全局變量控制來拒絕,不過方法很笨,還有一種方法就是用settimeout
$(‘#test1‘).bind("change", function(){
$(this).unbind("change",thatFun);
//you can do something here
alert(this.value);
//rebind again
setTimeout(function(){$(that).bind("change",thatFun)},0);//why use setTimeout? sorry, I don‘t know...
});
jquery觸發兩次onchange事件