正如您可能已经知道的那样,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