通过引用此链接,我采用了一个名为Event.Typemy 的属性以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]);
});