$(".feature").change(function(){
getProductSelections();
});
ARRRGHH !!爲什麼我的jQuery checkbox.change事件只在IE中的leavefocus上觸發,但它們發生在FF中的onclick?
$(".feature").change(function(){
getProductSelections();
});
ARRRGHH !!爲什麼我的jQuery checkbox.change事件只在IE中的leavefocus上觸發,但它們發生在FF中的onclick?
onChange事件可以附着(inline或作爲事件處理程序),以任何形式的元件。只要表單域的值發生更改,它就會觸發。不幸的是,在IE中這種行爲有點奇怪,因爲對於複選框或單選按鈕字段,事件在應該發生時不會觸發(正確的是當您單擊要選擇的選項時),而是它只有當你點擊頁面/窗體上的其他地方,或者你明確地調用了blur()時纔會觸發。在場上。
和周圍建議的工作是:
<input type="radio" name="foo" value="Green" onclick="alert(this.value);"/>Green
<input type="radio" name="foo" value="Blue" onclick="alert(this.value);"/>Blue
問題與盧卡斯的解決方案是,如果你再次點擊相同的選項,這將觸發連。
我發現的解決方案是添加onclick =「this.blur();」到單選按鈕標籤,強制它只有在改變時才觸發onchange。
<input type="radio" name="foo" value="Green" onclick="alert(this.value);" onclick="this.onBlur();" />Green
<input type="radio" name="foo" value="Red" onclick="alert(this.value);" onclick="this.onBlur();" />Red
希望這會有所幫助。
沒有人有解決這個問題的辦法嗎(除了爲所有的客戶購買Mac)? – BigOmega 2009-10-01 04:01:26
這是一個IE怪癖,據我所知,它無法繞過它。解決方案是使用click事件並對其作出響應 – 2010-02-04 11:59:49