首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Codepen中检测CSS专用的更新

问在Codepen中检测CSS专用的更新
EN

Stack Overflow用户
提问于 2018-10-22 16:37:35
回答 1查看 161关注 0票数 0

在Codepen中,启用了自动更新预览功能后,在编辑CSS窗格时,Codepen在稍微延迟之后重新绘制预览窗格。这不是新闻。但是,除非对javascript窗格进行了编辑,否则它似乎不会恢复您的javascript。因此:当您做CSS仅更改时,JS不会重新执行。我希望JS侦听器检测到何时有一个更新的CSS重画屏幕。

我从监听XHR请求开始,这是可以实现的,但是我意识到这不是我需要侦听的请求,而是响应。实际上,在接收和处理XHR响应之后,会发生一些JS回调的DOM更新。因为预览窗格看起来被封装在iframe中,我不确定我的可执行javascript是否能够检测到这样的更新--我不确定Code Pen是如何处理这些更改的。也许更好的问题是,如何检测到iframe屏幕重绘?不确定。但这里有一个不起作用的片段,用来说明我正在努力实现的目标:

在本例中尝试编辑CSS p {color}值:https://codepen.io/anon/pen/oaPvYJ,并注意到rgb文本值没有更新以匹配。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-22 17:23:48

您可以使用MutationObserver来查看head标记,因此当它们插入CSS时,您可以调用一个函数。https://codepen.io/WebNesting/pen/KGxPbZ

代码语言:javascript
复制
var setText = function() {
  $("p").text(function() {
    return $(this).css("color");
  });
};

var observer = new MutationObserver(function(mutations) {
  mutations.forEach(function(mutation) {
    setText();
  });
});

observer.observe($("head")[0], {
    childList: true,
});
setText();
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52933974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档