Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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
Javascript 单击输入类型上的事件触发=";文件";它不起作用了_Javascript - Fatal编程技术网

Javascript 单击输入类型上的事件触发=";文件";它不起作用了

Javascript 单击输入类型上的事件触发=";文件";它不起作用了,javascript,Javascript,/注意:这仅适用于在指定域上使用时,但实际上有效/ 我一直在尝试模拟鼠标点击事件,它适用于任何其他情况,但不适用于此 我测试过了,不知怎么的,它现在开始工作了。。但每当我尝试在这个网站上运行时:它似乎不起作用 <input type="file" id="_LOAD" accept="mp3" /> $('#_LOAD').click(); 不走运 有人能解释一下是什么在那个特定的领域阻止了它吗 //编辑-原始代码 我试图制作一个函数,它允许我制作一个只允许特定mime类型的文件

/注意:这仅适用于在指定域上使用时,但实际上有效/

我一直在尝试模拟鼠标点击事件,它适用于任何其他情况,但不适用于此

我测试过了,不知怎么的,它现在开始工作了。。但每当我尝试在这个网站上运行时:它似乎不起作用

<input type="file" id="_LOAD" accept="mp3" />

$('#_LOAD').click();
不走运

有人能解释一下是什么在那个特定的领域阻止了它吗

//编辑-原始代码

我试图制作一个函数,它允许我制作一个只允许特定mime类型的文件对话框

var load = function(mime,callback){

    var tempmime = (mime) ? mime : "";

    var tempinp = $('<input style="position:absolute;opacity:0;z-index:-1;pointer-events:none" type="file" id="_LOAD" ' + (tempmime == "" ? "" : 'accept=".' + tempmime + '"') + '/>')

    $("body").append(tempinp);
    $(tempinp).focus().click();
// 
    var aab = function(msg){
    callback(msg);
         $(tempinp).off('change',aab);
        $(tempinp).remove();
    };
    $(tempinp).on('change',aab);
}
var load=function(mime,回调){
var tempmime=(mime)?mime:;
var tempinp=$('')
$(“正文”)。附加(tempinp);
$(tempinp.focus()。单击();
// 
var aab=函数(msg){
回拨(msg);
$(tempinp).off('change',aab);
$(tempinp.remove();
};
$(tempinp).on('change',aab);
}
这就是我所没有的。请单击“工作”。

试试这个:

document.getElementById("_LOAD").click();
此外,您还可以检查是否正在使用

console.log("Element exists : " + (document.getElementById("_LOAD") != null ) );    
你能试试吗

  $("#_LOAD").trigger('click');

“它不工作”是什么意思?它不会触发点击事件。-我认为如果点击是从非用户初始化的方法触发的,浏览器会阻止默认行为。您可以尝试使用变量名,如$(tempinp.trigger('click')
document.getElementById()
返回一个唯一的元素。另外,
元素作为no
length
属性。
  $("#_LOAD").trigger('click');