2010年问了last thread on this,据我所知,对元素的'load'事件仍然不完整(或没有)支持。我的代码:
function loadedCb(){ console.log("Loaded!"); };
function errorCb(){ console.log("Error!"); };
var file = document.createElement("link");
file.type = "text/css";
file.rel = "stylesheet";
file.addEventListener('load', loadedCb); // or: file.onload = loadedCb;
file.addEventListener('error', errorCb); // or: file.onerror = errorCb;
file.src = "theDir/theFile.css"; // should immediately start to load.
document.getElementsByTagName('head')[0].appendChild(file);
当这个代码在Firefox 49.0.2中运行时,既没有调用回调(并且CSS文件也从不在任何时候加载,这可能表明我做错了什么)。但是,将.js
文件中的<script>
元素加载的相应代码完美无缺。
截至2016年,在加载(或错误)CSS文件时运行回调是否有任何优雅的解决方案?或者我做了一些基本错误的事情?我不是偶然在我的项目中使用JQuery。
答案 0 :(得分:0)
发现主要问题:设置href
而不是#GunTracking-detail-datatable{
background-color:#eee;
}
。午餐后会检查事件是否正在开火,但是在短暂的一瞥中,它看起来到目前为止一直在工作。