当按 CTRL + O 时,它应该触发fileInput.click()
类型文件的输入 - 打开文件打开对话框(就像用手点击<input type="file" />
一样)。
现在在大多数浏览器中,我的代码确实可以正常工作,但不适用于Firefox:
https://jsfiddle.net/ue9Lrc7a/3/
var fileInput = document.createElement("input")
fileInput.type = "file"
function load() {
alert("loaded: " + fileInput.files.length)
}
function onkey(ev) {
if (ev.keyCode == 79 /*KEY O*/ && ev.ctrlKey) {
fileInput.click()
ev.preventDefault()
return false
}
}
fileInput.addEventListener("change", (function(ipt) {
return function() {
load();
ipt.value = null;
}
})(fileInput))
window.addEventListener("keydown", onkey)
有没有办法让Firefox打开Dialog?*
*注意:当click()
在MouseEvent中是triggerend但在KeyboardEvent中没有
*在MDN上,它说Firefox已输入@ file(完整)支持