通过引用此链接,我采用了一个名为Event.Type
my 的属性以script
满足特定需求,并且它在IE9
. 在那之后,在制作时compatibility test
,我才知道它不起作用Mozilla FireFox
。此外,它在 和 中没有任何Google Chrome
问题Safari
。
演示
有什么线索可以解决这个问题吗?或者是否有任何替代方法可以Event.Type
在 jquery 中替代。?
在大多数常见浏览器中,该event
对象是全局定义的,因此它在您的处理程序范围内可用load
。但是,在 Firefox 中,该event
对象不是全局定义的,并且ReferenceError: event is not defined
会返回错误(Ctrl+Shift+J
如果是 Firefox,则用于获取错误控制台)。
正如您对问题的评论所暗示的那样,最佳做法是将event
对象传递给处理程序函数,如下所示:
$(document).ready(function() {
$(window).load(function(event){ alert(event.type); });
});
这是我所做的;这个想法是将变量传递event
给内部函数代码。例子
var load = function(){
var output = document.getElementById('preview');
output.src = URL.createObjectURL(event.target.files[0]);
}
然后现在我听了这样的 oncHange 事件:
//passing the event varible along inside ,,this might work on chorme
//without passing events but not in firefox and now fixed!!
$( "#uploadBtn" ).change(function(event) {
var output = document.getElementById('preview');
output.src = URL.createObjectURL(event.target.files[0]);
});