在用户选择文件并关闭对话框后,我无法检测到输入文件“type=”何时更改其值。
$('.myInput').change(function(){
alert($(this).val());
})上面的jQuery代码可以在除IE之外的所有浏览器中完美运行。由于某些原因,IE只有在输入字段失去焦点后才会检测到更改。
有没有办法在对话框关闭后立即检测到更改?或者强制输入字段在对话框关闭后失去焦点,以便IE可以检测到?
我很困惑。谢谢你的帮助。
发布于 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,并且这个问题已经被修复了,只需要升级来解决这个问题:)
发布于 2010-06-08 07:54:52
编辑- Nick是对的,它在1.4.2中被修复了。http://jsfiddle.net/7wR2L/
你可以检测点击并跟踪它的最后一个值。就像..。
$('.myInput').click(function() {
var $file = $(this);
if( $file.val() != $file.data('lastVal') ) {
// different
}
$file.data('lastVal', $file.val() );
});发布于 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。
https://stackoverflow.com/questions/2993946
复制相似问题