JavaScript 的 $(document).ready(function(){ 事件可以删除吗?我试了没有任何影响.
怪我咯
怪我咯 2017-04-11 09:21:02
[JavaScript讨论组]
    $(document).ready(function(){
      $("button").click(function(){
        $("p").detach();
      });
    });

我自己试了试,没有影响,是我文件太小了,还是这个语法是JavaScript旧版本留下来的,大家还没有把习惯改回来?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(5)
高洛峰
$(document).ready(function(){
})
//同等于
$(function(){
})

他的意思是在整个文档 加载完毕之后 再去执行改函数中的代码
当然 不在 这个函数中写也是可以的 不过建议在不适用 ready这个函数的话 就把 script 写在文档的最下面 如下(和楼上说的一样 尽量使用on):
http://jsbin.com/pedovar/edit?html,output
如果将script写在head标签中的话 就需要使用ready如下(你可以试一下将代码写在外面就会报错):
http://jsbin.com/bafehe/edit?html,output
下面对的会报错:
http://jsbin.com/guhusu/edit?html,output
因为在页面 渲染的时候 走到 .on这里 发现需要去找 button的对象 那么 现在这行代码之后的内容是没有被渲染出来的 所以$('button')返回的是undefined便会报错

大家讲道理

没有影响是应为你是按照顺序写的代码,写这个是让浏览器在加载js的时候首先执行$(document).ready()内部的代码

迷茫

$(document).ready 的作用 是让 里面的代码 在文档全部加载完成以后执行

如是
你这样写

$("button").click(function(){
        $("p").detach();
      });
<button>click</button>

代码就不能正常了,因为js放到dom前面了,

<button>click</button>
$("button").click(function(){
        $("p").detach();
      });

这样又可以了,因为DOM已经加载了

怪我咯

题主是刚学习JS吗
$(document).ready(function(){是jQuery的方法

另外刚刚给你推荐的网站有比较全的文档
链接描述

建议题主到http://www.w3school.com.cn/ 或者慕课网 或者任何一家在线培训机构下载html css和 JavaScript免费教程系统的学习下,问问题的速度太慢,且效果不好 比如 某传智播客 等等 或者诸如 百度前端技术学院 都有前端基础培训

PS 上面只是列举一些网站 不涉及推广 另外不推荐花钱买培训

高洛峰

楼上几位说的都不错。

$(document).ready(function(){
})

是JQuery用来表示在dom加载完(只是dom结构接在完,不代表页面元素加载完)后即可执行的代码段。
等同于

$(function(){
})。

如果你把你的js代码,或者原来这部分代码放到页面的最后边,那绝大多数情况下没有影响。

但是不建议这样做。

另外,写事件尽量用on方法绑定,可以避免js加载时dom还不存在或没加载到的情况下也不会出错。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号