我的页面上有几个链接(位于内<div id="theme-selector">
),可用于更改CSS样式表:
$('#theme-selector a').click(function(){
var path = $(this).attr('href');
$('head link').remove();
$('head').append('<link type="text/css" href="'+path+'" rel="stylesheet" />');
return false;
});
现在,在更改页面上的样式之后,我想使用以下代码(在$('head').append
调用之后放入)获得新的背景色:
var bgcolor = $('body').css('background-color');
alert(bgcolor);
我认为问题是浏览器需要花费一些时间来下载新的样式表,并且有时我的警报消息中还会出现旧的背景色。我可以绑定一些事件,该事件仅在页面上所有样式表加载后才会提醒我吗?
目前,我所能想到的只是使用了a setTimeout(function(){}, 5000);
,效果并不理想,因为如果要花费更长或更短的时间来加载页面上的所有CSS,该怎么办。
让我知道是否需要澄清什么,我可以提供更多代码。
无需创建新的link元素并将其附加到头部,您可以使用AJAX调用来检索样式表的内容,并将其插入到内联样式块中。这样,您可以使用jQuery的“
complete”回调来触发检查。
$('#theme-selector a').click(function(){
var path = $(this).attr('href');
$.get(path, function(response){
//Check if the user theme element is in place - if not, create it.
if (!$('#userTheme').length) $('head').append('<style id="userTheme"></style>');
//populate the theme element with the new style (replace the old one if necessary)
$('#userTheme').text(response);
//Check whatever you want about the new style:
alert($('body').css('background-color'));
});
});
我尚未实际测试此代码,因此可能存在一些语法错误,但逻辑应该足够合理。
问题内容: 如果使用jQuery添加或更改CSS类,如何触发事件?更改CSS类是否会触发jQuery 事件? 问题答案: 每当您在脚本中更改类时,都可以使用A 引发自己的事件。 但是否则,没有什么办法可以在类更改时触发事件。仅在焦点离开输入已更改的输入后才触发。
问题内容: 该主题很好地描述了我的问题,我假设它不会以这种方式起作用,是否有办法使其起作用?(解决方法)? 这是通过AJAX加载的代码: 这是我的点击事件: 问题答案: 做这个。 要么 编辑: 从jQuery 1.7开始,不推荐使用.live()方法。 使用.on()附加事件处理程序。较旧版本的jQuery的用户应使用.delegate()。
问题内容: 我有3个文件: js_json.js->用于我的json代码 javascript.js->用于我的javascript函数 index.php 这里的代码为: 这是我的代码: 这里的代码: 我的问题是: 当我单击链接“ Hola Test 1”时,它将起作用并显示消息。问题是,在单击选择选项之后,出现了链接“ Hola Test”,然后单击该链接(“ Hola Test”),该消息没
问题内容: 对于jQuery,这是一个非常奇怪的问题。我正在加载一个div 页面加载。每条记录都是表格数据,并带有与之关联的“删除” ajax函数。当页面加载并单击“删除”链接时,ajax调用会触发。但是,一旦触发事件,就会从ajax调用返回数据,并且div中会填充数据(但页面不会刷新或重新加载)。当我再次单击链接时,ajax脚本将不会触发。这是我的代码: 问题答案: 当您删除元素然后通过java
问题内容: 我正在尝试进行变量替换,同时也使它可以通过ngClick单击。 我做了一个小矮人演示(单击按钮,观察输入框保持不变) 标记: 角度的东西: 问题是:为什么单击按钮时不触发。应该在输入字段中设置值’foobar’。 问题答案: 同时,有一个针对该问题的官方解决方案: 无需编写自定义指令即可进行编译。 有关更多信息:https : //github.com/angular-translat
问题内容: 有谁知道当角度路线呈现其视图时如何触发事件?我想路由应用程序,并且在呈现模板的末尾,我希望它触发一个事件来滑动视图“打开”,这样用户体验就不会那么苛刻了。当您单击链接时,路线会发生变化。我基本上想使用户体验更流畅。 点击图片 路由应用程序(但是视图没有显示类 当视图加载完成时,我想触发一个事件 该事件触发了一个监听器,使我的标记向下滑动并打开。 有任何想法吗? 问题答案: 这是你的追求