zoukankan      html  css  js  c++  java
  • 转载:$(function() {}),即$(document).ready(function(),什么时候执行?以此为准,真理

    转载:https://blog.csdn.net/Ideality_hunter/article/details/77935656

    $(function() {

    //执行操作

    });

    $(function() {}) 是$(document).ready(function()的简写。

    这个函数什么时候执行的呢?

    答案:DOM加载完毕之后执行。

    DOM是什么?DOM就是一个html页面的标签树,树,树。

     

    那么什么时候,DOM加载完成了呢?即页面所有的html标签(包括图片等)都加载完了,即浏览器已经响应完了,加载完了,全部展现到浏览器界面上了。

    那么有个问题,举个例子:

    <html>

    <head>

    <script src="http://127.0.0.1:8080/testProject/js/test.js" type="text/javascript"></script>

    </head>

    <body>

    ···

    ···

    <botton onclick="AlertNewPage()"></botton>

    </body>

    </html>

    test.js中有个AlertNewPage方法,作用是在当前页面上弹出一个新的页面(其实相对f12来看,其实还是一个html页面,只是在原来DOM树的基础上,增加了一些div而已),效果如下:

    test.js如下:

    function AlertNewPage(){

    ...;//略。显示新增页面。

    $.getScript("http://127.0.0.1:8080/testProject/js/test2.js", function() {//发起了一个js的动态加载,即加载test2.js到内存中
            })

    }

    而test2.js中有个$(function() {})函数,test2.js如下:

    $(function() {
     ···//给保存按钮,增加onclick事件

    })

    问,test2.js中的代码,会被运行吗(即保存按钮的onclick事件这段代码,会运行吗)?

    答:此时DOM早已经加载完了,当然可以执行。

    ===========此前一篇文章,如果和这里理解不一样,以此篇文章为准,因为当时对js加载入内存一无所知。

    http://blog.csdn.net/ideality_hunter/article/details/72956659

    ======

    总结:

    DOM在第一次页面加载完毕后,就在内存里了,无论后面怎么通过ajax的方式去局部修改html页面,都只是对内存中的DOM树进行修改,而DOM在第一次页面加载完毕后就已经加载完毕了。所以后面js文件(动态加载或者head中加载)再使用到$(function() {})函数肯定会执行的。

  • 相关阅读:
    调用系统api修改系统时间
    格式化为货币
    select的使用(二)
    select的使用(一)
    保留n位四舍五入小数
    加密解密,CryptoStream()的使用
    从字符串总分离文件路径、命名、扩展名,Substring(),LastIndexOf()的使用;替换某一类字符串,Replace()的用法
    根据标点符号分行,StringBuilder的使用;将字符串的每个字符颠倒输出,Reverse的使用
    将汉字转化为拼音,正则表达式和得到汉字的Unicode编码
    unicode编码、字符的转换和得到汉字的区位码
  • 原文地址:https://www.cnblogs.com/zp-uestc/p/10174399.html
Copyright © 2011-2022 走看看