未验证 提交 a80da38e 编写于 作者: M Mr.doob 提交者: GitHub

Merge pull request #13271 from emeyex/imageloader-removeeventlisteners

ImageLoader: remove image event listeners explicitly
......@@ -46,7 +46,10 @@ Object.assign( ImageLoader.prototype, {
var image = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'img' );
image.addEventListener( 'load', function () {
function onInternalLoad() {
image.removeEventListener( 'load', onInternalLoad, false );
image.removeEventListener( 'error', onInternalError, false );
Cache.add( url, this );
......@@ -54,24 +57,31 @@ Object.assign( ImageLoader.prototype, {
scope.manager.itemEnd( url );
}, false );
/*
image.addEventListener( 'progress', function ( event ) {
if ( onProgress ) onProgress( event );
}
}, false );
*/
function onInternalError( event ) {
image.addEventListener( 'error', function ( event ) {
image.removeEventListener( 'load', onInternalLoad, false );
image.removeEventListener( 'error', onInternalError, false );
if ( onError ) onError( event );
scope.manager.itemEnd( url );
scope.manager.itemError( url );
}
image.addEventListener( 'load', onInternalLoad, false );
/*
image.addEventListener( 'progress', function ( event ) {
if ( onProgress ) onProgress( event );
}, false );
*/
image.addEventListener( 'error', onInternalError, false );
if ( url.substr( 0, 5 ) !== 'data:' ) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册