首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当用户通过IE8中的对话框选择新文件时,除了jQuery change()之外,还有什么替代方法吗?

当用户通过IE8中的对话框选择新文件时,除了jQuery change()之外,还有什么替代方法吗?
EN

Stack Overflow用户
提问于 2010-06-08 07:47:26
回答 3查看 4.4K关注 0票数 4

在用户选择文件并关闭对话框后,我无法检测到输入文件“type=”何时更改其值。

代码语言:javascript
复制
$('.myInput').change(function(){
    alert($(this).val());
})

上面的jQuery代码可以在除IE之外的所有浏览器中完美运行。由于某些原因,IE只有在输入字段失去焦点后才会检测到更改。

有没有办法在对话框关闭后立即检测到更改?或者强制输入字段在对话框关闭后失去焦点,以便IE可以检测到?

我很困惑。谢谢你的帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-08 08:05:24

这个作为the jQuery 1.4.2 release 1.4.2的一部分被解决的was a known bug得到了a major event model re-write,并且这个问题已经被修复了,只需要升级来解决这个问题:)

票数 3
EN

Stack Overflow用户

发布于 2010-06-08 07:54:52

编辑- Nick是对的,它在1.4.2中被修复了。http://jsfiddle.net/7wR2L/

你可以检测点击并跟踪它的最后一个值。就像..。

代码语言:javascript
复制
$('.myInput').click(function() {
   var $file = $(this);
   if( $file.val() != $file.data('lastVal') ) {
     // different
   }
   $file.data('lastVal', $file.val() );
});
票数 1
EN

Stack Overflow用户

发布于 2010-11-11 07:59:57

Dan Heberden关于更新到1.4.2版本的评论。

但是,如果使用另一个元素来触发文件文件选择,则文件输入元素不再注册“更改”事件。

我为此创建的新问题有一个叉子你的小提琴来说明这种情况。详情请参见jQuery: "change" event on file input element does not fire if the file selection is triggered by an element other than the file input

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2993946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档