zoukankan      html  css  js  c++  java
  • JS和CSS加载(渲染)机制不同

    一、结论

    CSS可以在页面加载完成后随时渲染。举个例子:通过js给某个元素加一个id或者css,只要这个id或者css有对应的样式,此元素的样式就会自动生效。

    JS不可以在页面加载完成后生效。最明显的例子就是使用EasyUI的时候,iframe中哪些样式无效(EasyUi是依靠JS进行样式处理的,所以无法运行JS,那么样式也就无法设置。简单点说:EasyUi是一个JS的前端框架,Bootstrap是一个CSS的前端框架,二者不同)。

    JS默认是不可以在页面加载完成后生效的。

    二、现象

    对于EasyUi那样的js核心的框架我没有想到办法,但是对于一些简单的时间还是可以处理的。

    以下是我实际开发遇到的一个问题,我将其抽象出来:

    某个按钮class为"tt"不是原生的HTML存在页面中的,而是通过页面加载过程中的JS生成的.

    在最初我有如下语句:

    $(".tt").click(function(){
         alert("xxx");
    });
    

    但是这个方法死活触发不了,根据上述第一点我的结论可知,这个是因为页面的JS已经加载完了,此时元素还没有生成。自然而言的无法有效的绑定事件。

    那么怎么处理了?

    <button onclick="mc-alert()">TELL</button>
    

    将alert()放在方法mc-alert()中,即可。

    三、深度剖析

    留待以后懂得时候补充,现在不太清楚啊。。。

  • 相关阅读:
    js中实现继承的几种方式
    js中prototype,__proto__,constructor之间的关系
    圣杯布局
    BFC详解
    Altium制作DC002的PCB封装和3D模型
    直流供电电路中,关于电源并联二极管、电容作用的思考与总结
    AltiumDesigner17快捷键
    AltiumDesigner17学习指南
    AltiumDesigner元器件搜索中英文对照
    智慧树自动刷课脚本
  • 原文地址:https://www.cnblogs.com/LiuChunfu/p/5158489.html
Copyright © 2011-2022 走看看