我有一些jQuery加载一个像这样的新样式表......
$('head').append('<link rel="stylesheet" type="text/css" href="' + config.basePath + config.stylesheetsPath + 'sections/' + name + '.css" media="screen" class="new site-specific" />');
然后我试图立即从该CSS文件中获取一些信息。它通常不会显示正确的信息,直到事件的第二个触发器(在我想象样式表已加载之后)。
加载CSS时是否可以附加任何触发事件?
答案 0 :(得分:2)
我不知道触发事件,但您是否可以获取CSS文件的get请求,然后使用新的<head>
标记更新<style>
,放置文件的内容在<style>
标记内?
$(document).ready(function() {
$.get("http://example.com/style.css", function(data) {
$('head').append("<style>" + data + "</style>");
});
... /* your code */ ...
});
答案 1 :(得分:2)
除非CSS有某种“onload”事件(并且应该有,因为firebug会显示这样的事情),我会使用以下程序:
1.放置一个带有颜色X的隐藏DOM元素
2.在上传的CSS中,此颜色将更改为y
3.一旦你开始上传(在你的JS中),你就会创建一个列表器,当颜色变为y时,它会提升你想要的功能。
通过listner我的意思是使用setInterval。