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

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

我测试了它,它现在以某种方式工作......但是每当我尝试在这个网站上运行时:http://www.multiplayerpiano.com/ 它似乎不起作用......

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

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

这不起作用..

我也试过
$('#_LOAD')[0].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);
}

所以这是我在没有 .click 工作的情况下所得到的。

最佳答案

你能试一下吗

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

关于javascript - 输入类型 ="file"上的点击事件触发不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32718671/

10-16 18:07