2

通过引用此链接,我采用了一个名为Event.Typemy 的属性以script满足特定需求,并且它在IE9. 在那之后,在制作时compatibility test,我才知道它不起作用Mozilla FireFox。此外,它在 和 中没有任何Google Chrome问题Safari

演示

有什么线索可以解决这个问题吗?或者是否有任何替代方法可以Event.Type在 jquery 中替代。?

4

2 回答 2

1

在大多数常见浏览器中,该event对象是全局定义的,因此它在您的处理程序范围内可用load。但是,在 Firefox 中,该event对象不是全局定义的,并且ReferenceError: event is not defined会返回错误(Ctrl+Shift+J如果是 Firefox,则用于获取错误控制台)。

正如您对问题的评论所暗示的那样,最佳做法是将event对象传递给处理程序函数,如下所示:

$(document).ready(function() { 
    $(window).load(function(event){ alert(event.type); }); 
});
于 2013-01-15T10:48:53.430 回答
0

这是我所做的;这个想法是将变量传递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]);
      });
于 2015-01-16T07:44:39.133 回答