Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何为文件字段设置侦听器-当用户选择文件时,采取操作_Jquery_Jquery Selectors - Fatal编程技术网

Jquery 如何为文件字段设置侦听器-当用户选择文件时,采取操作

Jquery 如何为文件字段设置侦听器-当用户选择文件时,采取操作,jquery,jquery-selectors,Jquery,Jquery Selectors,我有文件上传字段。当用户选择文件时,一个新字段将添加到右下方,允许用户选择另一个文件,等等 $("#photos").change(function(){ var countEmpty = 0; $("#photos input").each(function(index) { if ( $(this).val() == '' ) countEmpty++; }); if (countEmpty == 0)

我有文件上传字段。当用户选择文件时,一个新字段将添加到右下方,允许用户选择另一个文件,等等

$("#photos").change(function(){
    var countEmpty = 0;
    $("#photos input").each(function(index) {
        if ( $(this).val() == '' )
            countEmpty++;
    });
    if (countEmpty == 0)
        addNewPhoto();
});
这就是现在的密码。它实际侦听包含输入字段的div中的更改。当它被选中、单击或其他操作时,脚本会检查是否有空字段。如果没有空字段,则添加一个新字段

但这在IE8中存在问题。在Firefox/Chrome中,当用户选择文件时,新字段立即出现。但在IE中,在下一个字段出现之前,用户必须单击空白、滚动或其他内容

有没有关于如何修复IE的建议

谢谢


PS:我见过Uploadizer,但目前无法在我的项目中实现它。

这与
onChange
的IEs实现有关。在IE中,输入元素必须失去焦点,如果该输入的值已更改,则会触发
onChange
。(顺便说一句,看看HTML4对
onChange
的定义,也就是说,在Firefox中,它实际上是对的,而不是错的)

我建议您将事件从
onChange
更改为其他事件,例如
onClick