0

将文件从磁盘拖放到输入框时,不会为 input type='file' 元素触发“更改”事件。相同的代码适用于其他主要浏览器,但不适用于 Firefox 15 及更高版本。

    $("input[type='file']").change(
        function(){
            // Do form submit
        }
    );

实现相同目的的一种 hack-ish 方法是使用 setTimeout 和 HTML5 'drop' 事件。

    $("input[type='file']").on('drop',function(event){
        this.files = event.originalEvent.dataTransfer.files;
        setTimeout(function(){
            //  Do form submit
        }, 0);  // Note that the timeout is 0ms
    });

不确定这是否是最好的方法......

PS:不使用 setTimeout(..) 直接提交表单在 FF 15+ 中不起作用

4

1 回答 1

0

看起来像https://bugzilla.mozilla.org/show_bug.cgi?id=786172它的价值。

于 2012-08-31T17:04:34.643 回答