/注意:此仅适用于指定的域名,但实际上可行/
我一直在尝试模拟鼠标点击事件,它对其他所有东西都有效,但对于这个网站却无效。
我测试了一下,现在某种程度上它可以工作了。但每当我尝试在这个网站上运行时: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 工作的情况下所能做到的。