正如您可能已經知道的那樣,Internet Explorer的onchange
事件在版本9之前基本上被打破了。當發生更改時,不會觸發它,而會在輸入字段丟失焦點併發生更改時觸發。帶文件輸入的onchange的解決方法是什麼?
這導致了複選框和單選按鈕(「使用onclick
」)和文本字段(「使用keyup
」代替)的各種解決方法。
但是,我遇到了一個文件輸入的問題,我不知道我做了什麼來通知一個新的文件已被選中,緊隨其後,而不是當用戶點擊其他地方。我無法將自己附加到鼠標事件上,因爲它與鼠標無關;而且我無法將自己附加到鍵盤事件上,因爲它與鍵盤無關。
如果能解決問題,我願意使用特定於IE的東西。
附加的相關信息:
使用jQuery 1.6和live
方法附加事件。
$(".upload").live("change", function() { /* stuff here */ });
這裏有一些關於這個問題的喋喋不休:http://stackoverflow.com/questions/2389341/jquery-change-event-to-input-file-on-ie –
http://jsfiddle.net/c8JuC/1/適用於使用IE7仿真的IE9。 – pimvdb
@pimvdb,我使用'live',因爲我在運行中產生了一堆輸入,並且事件並沒有在正確的時刻被它觸發(jquery 1.6)。 – zneak