执行功能时,我正在文档上触发事件。在Internet Explorer(版本11)以外的所有浏览器中,它都可以正常工作。这是我的代码
function getBgUrl(el) {
if (typeof el !== "undefined" || el !== null) {
var bg = "";
if (el.currentStyle) { // IE
bg = el.currentStyle.backgroundImage;
} else if (document.defaultView && document.defaultView.getComputedStyle) { // Firefox
bg = document.defaultView.getComputedStyle(el, "").backgroundImage;
} else { // try and get inline style
bg = el.style.backgroundImage;
}
return bg.replace(/url\(['"]?(.*?)['"]?\)/i, "$1");
}
}
if ( jQuery('#wcp_body').length ) {
var image = document.createElement('img');
image.src = getBgUrl(document.getElementById('wcp_body'));
image.onload = function (event) {
//jQuery(document).trigger('bgimageloaded');
jQuery.event.trigger({type: "bgimageloaded" });
};
}
然后,准备好文档。
jQuery( document ).ready(function($) {
$(document).on('bgimageloaded', function() {
console.log( 'BG Image Loaded' );
});
});
上面的代码实际上获取与元素关联的背景图像,并在加载图像时触发自定义事件。我不明白为什么这仅在IE11中不起作用。
任何帮助将不胜感激。
谢谢
答案 0 :(得分:0)
我认为您将为触发器设置超时。
setTimeout(function(){
// jQuery(document).trigger('bgimageloaded');
jQuery.event.trigger({type: "bgimageloaded" });
},第10段);