在Opera中的输入类型文件
我试图在文件输入时触发onkeydown,onkeypress和onkeyup事件(例如,当元素处于焦点并按下某个键时事件未被触发),但它们在Opera中不起作用。点击()或$('#myFileinput')。trigger('click'))。用jQuery触发'click'也不起作用(例如$('#myFileinput')。在Opera中的输入类型文件
有没有办法在Opera中触发这些事件?
这里是我的代码:
<input type="file" class="foo" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<script type="text/javascript">
debugger;
window.onload = onPageLoad;
function onPageLoad() {
var input = $(".foo");
debugger;
input.keydown(function() {
//doesn't work in Opera
alert("keydown");
});
input.keypress(function() {
//doesn't work in Opera
alert("keypress");
});
input.keyup(function() {
//doesn't work in Opera
alert("keyup");
})
}
window.onkeydown = function() {
//when the focus is on the input the code bellow doesn't fire
alert("window key down")
}
</script>
由于安全策略,它被限制在什么样的输入类型的事件歌剧院火灾=文件。另外,在新的Opera版本中,将输入文件调出来会产生文件对话框,因此无论如何都不会有关键事件触发输入。如果您需要知道该值何时更改,请收听更改事件。
来自源代码的答案。只能+1这一个:D – 2011-05-17 05:13:02
还请注意,当开发者开放时,FileDialog不适用于Opera。 – efkah 2015-04-12 18:56:20
你能发表一些代码吗? – reporter 2011-05-09 12:34:52