单击事件触发输入类型=“文件”不起作用

时间:2015-09-22 13:48:57

标签: javascript

/ note:这仅适用于指定域,但实际上是

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

我测试了它,它现在以某种方式工作..但每当我尝试在这个网站上运行时: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工作。

2 个答案:

答案 0 :(得分:2)

你可以尝试

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

答案 1 :(得分:1)

试试这个:

document.getElementById("_LOAD").click();

您还可以检查是否使用

选择元素
console.log("Element exists : " + (document.getElementById("_LOAD") != null ) );