0
onclick我有一個函數,當使用滑塊時,它將更改文本框的值。它被傳遞,其具有文本框以更新爲一個值的事件變量:手動觸發一個文本框傳入參數
function updateTextBox(e){
$(e.data.textbox).val($(this).slider('option','value')); //this line works great
$(e.data.textbox).change(); //this line works fine in Chrome, but not IE.
}
要綁定我傳遞函數(簡化):
slinder.bind('slide', {textbox : '#idOftextbox'}, updateTextBox);
IE只自動執行改變事件第一行,但然後在第二行發出錯誤「對象不支持此對象或方法」。但是Chrome不會通過設置值來自動觸發更改事件,因此需要第二行。任何想法如何解決這個問題,而不訴諸用戶代理檢測。
alert(e.data.textbox.change); //給我所有瀏覽器的函數定義,但不喜歡添加括號。
我甚至試過的eval(e.data.textbox.change)沒有任何的運氣...
只是要注意的。我很滿意我滑塊的工作方式,所以我不想替換它。事件如何「冒泡」到文本框中。
是#idOftextbox唯一的嗎?如果您嘗試觸發表單元素以外的其他事件,可能會導致一些問題。 – Capsule 2011-03-28 13:20:51
[獲取jQuery以識別.change()in IE](http://stackoverflow.com/questions/208471/getting-jquery-to-recognise-change-in-ie) – Kon 2011-03-28 13:20:58
@Capsule #idOftextbox是唯一的,始終是一個輸入元素。不是很重複,因爲這是textb牛的如此回答將無法正常工作,因爲點擊事件與更改不一樣。 – Yule 2011-03-28 13:27:24