什么是$(new Image())的Angular jqlite等价物或解决方案?

时间:2015-11-29 18:25:24

标签: javascript jquery angularjs jqlite

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

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

此代码正常运行。但我正在努力从我的项目中删除jQuery lib,并完全依赖于使用Angular的内置jqlite。

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

有没有人有这个优雅的解决方案?

1 个答案:

答案 0 :(得分:1)

是的,你根本不需要jQuery。 vanila JS中的等价代码将是:

var image = new Image();

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

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

image.src = src;