1
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);

誰かが#1#2上記の違いを説明できますか? どちらが優先されますか? 両方とも機能しているように見えるからです。

私が質問している理由は、HTML5 ファイルリーダー + XHR2 アップロードで少し遊んでいるからです。MDN の例ではFileReader()uses#2と while XMLHttpRequest()usesのインスタンスがあります#1

4

1 に答える 1

1

プロパティを宣言onprogressすると、それにバインドされた以前のハンドラーが上書きされます。これは明らかであり、新しいオブジェクト インスタンスにのみバインドしているため、問題ではありません。

唯一の違いはIEの互換性だと思います。プロパティ (およびその他のプロパティ) は IE5.5+ でサポートされていますaddEventListenerが、IE9+ でサポートされています。onprogresson...

:
9 よりも古いバージョンの IEattachEventでは、代わりにaddEventListener.

于 2013-10-31T21:58:21.680 に答える