Javascript XHR2 addEventListener vs属性
有人能解释一下上面的Javascript XHR2 addEventListener vs属性,javascript,html,Javascript,Html,有人能解释一下上面的#1和#2之间的区别吗。哪一个比另一个好?因为两者似乎都有效 我问这个问题的原因是因为我在玩HTML5 filereader+XHR2上传,在MDN示例中,filereader()使用\2,而XMLHttpRequest()使用\1,声明onprogress属性将覆盖以前绑定到它的处理程序,这一点很明显,在您的案例中这不是问题所在,因为您只将它绑定到新的对象实例 我认为唯一的区别是IE兼容性addEventListener,而IE5.5+支持onprogress属性(以及其他
#1
和#2
之间的区别吗。哪一个比另一个好?因为两者似乎都有效
我问这个问题的原因是因为我在玩HTML5 filereader+XHR2上传,在MDN示例中,
filereader()
使用\2
,而XMLHttpRequest()
使用\1
,声明onprogress
属性将覆盖以前绑定到它的处理程序,这一点很明显,在您的案例中这不是问题所在,因为您只将它绑定到新的对象实例
我认为唯一的区别是IE兼容性onprogress
属性(以及其他on…
属性)
注:早于9的IE版本使用
attachEvent
而不是addEventListener
好吧,声明onprogress
属性将覆盖以前绑定到它的处理程序,这是显而易见的,在您的情况下这不是问题,因为您只将它绑定到新的对象实例
我认为唯一的区别是IE兼容性onprogress
属性(以及其他on…
属性)
注:早于9的IE版本使用了
attachEvent
而不是addEventListener
XHR2和FileReader的可能副本,但仅IE10支持。我应该详细说明一下,因为我好奇的是,如果我选择#1,是否有任何性能差异以及是否有任何理由解除事件侦听器的绑定。有什么消息吗?@Johan,我不知道哪一个表现更好,也不知道在活动结束后是否值得解开它。就我个人而言,我想在表现上没有什么不同。我不能再帮你了,不过我能做的就是(强烈地)向你推荐标记为可能重复的答案。从未见过如此高度发展的答案。我希望它能对您有所帮助。无论如何,只有IE10才支持XHR2和FileReader。我应该详细说明一下,因为我好奇的是,如果我选择#1,是否有任何性能差异以及是否有任何理由解除事件侦听器的绑定。有什么消息吗?@Johan,我不知道哪一个表现更好,也不知道在活动结束后是否值得解开它。就我个人而言,我想在表现上没有什么不同。我不能再帮你了,不过我能做的就是(强烈地)向你推荐标记为可能重复的答案。从未见过如此高度发展的答案。我希望它能帮助你。
var _xhr2 = new XMLHttpRequest();
_xhr2.upload.addEventListener('progress', function(e){ //#1
console.log('progress');
}, false);
_xhr2.upload.onprogress = function(e){ //#2
console.log('progress');
};
_xhr2.open('POST', '/fileupload');
_xhr2.send(formData);