1

我创建了一个工厂来预加载图像。我在这个工厂的某个地方使用:

var image = $( new Image() )
                    .load(
                        function( event ) {
                            // Do Stuff
                        }
                    )
                    .error(
                        function( event ) {
                            // Do Stuff
                            );
                        }
                    )

这段代码有效。但我正在努力从我的项目中删除 jQuery 库,并且完全依赖于使用 Angular 的内置 jqlite。

我试图自己找到解决方案,但我就是想不通。我需要 .load 和 .error 函数事件来正确捕获预加载状态。这是一个工厂,所以我不想在这里创建 DOM 元素。

有没有人对此有一个优雅的解决方案?

4

1 回答 1

1

是的,这里根本不需要 jQuery。vanila JS 中的等效代码是:

var image = new Image();

image.onload = function (event) {
    // Do Stuff
};

image.onerror = function (event) {
    // Do Stuff
};

image.src = src;
于 2015-11-29T18:48:57.197 回答