background-image加载失败后 jQuery有办法获取这个错误吗?
就像jQuery().error()那样获取错误后,放一张默认的图片

解决方案 »

  1.   

    参考懒加载的方法,把背景url放在自定义属性中,创建image,可以处理onload和onerror事件下面是一段IOING里面处理CSS背景图片的代码:
          key: '_loadBackgroundImage',
          value: function _loadBackgroundImage(dom, url, src, call, file) {
            var that = this;
            var sdoc = this.sandbox.window.document;
            var image = sdoc.createElement('IMG');        image.src = src;
            image.onload = function () {          rAF(function () {
                dom.style.backgroundImage = file ? '' : url;            // additional style            if (call) {
                  var styler = call.split(',');              for (var i = 0, l = styler.length; i < l; i++) {
                    var prop = styler[i].split(':');                dom.style.set(prop[0], prop[1]);
                  }
                }            // removr image            image.remove();
              });          //  cache          that.sandbox.window.fileCache[src] = true;
            };        image.onerror = function () {          // removr image          image.remove();
            };        // append image        sdoc.documentElement.appendChild(image);
          }      // $