请教jquery的基本问题

fishilhl 2015-10-19 09:00:42
新人第一次发帖求教
想请问下大神Jquery中 $(doucment).ready(function(){})这个函数或者称之为事件 到底是基于什么运行机制? 如果单纯的解释为提前加载 事件内部的函数 那么像click这种事件需要放在这个函数里呢? 他的作用是怎样的 或者说这个函数到底干了什么?
一直以来都只是照搬使用 想深入了解下 请达人解惑
...全文
106 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chanel_1 2015-10-20
  • 打赏
  • 举报
回复
像click这种事件函数一定要放在这个函数里,因为它会防止找不到你要操作的对象。像定义的一些方法我觉得反而不要放在里面,如果是跟后台结合,很多时候数据都是从后台for each循环出来的, 很可能$(doucment).ready(function(){})很久也不响应,如果把方法放在这里些,很多时候会报错该方法undefined,纯属个人经验总结。。。
街头小贩 2015-10-19
  • 打赏
  • 举报
回复
再看jquery

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>this is lab</title>
<script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
function a(){
        var b=document.getElementById("b").val();
        console.log("b element is exist");
}
</script>
</head>
<body>
<script type="text/javascript">jQuery(function($){var b=$('#b').val();console.log("b element is exist");});</script>
<p>js执行时元素未加载</p>
<input type="text" value="a" id="b" />
</body></html>
街头小贩 2015-10-19
  • 打赏
  • 举报
回复
作用: 它是保证函数体的代码是在dom结构已经构造结束(文档树创建结束),或者说此时document下的所有tag已经加载完成,而外部资源(像图片,视频,。。。,其它的一些内容类型(有自已的MIME-TYPE))未必加载结束 这样你在操作dom时所有元素是可用的。而不会出现下面这种情况 TypeError: document.getElementById(...) is null

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>this is lab</title>
<script type="text/javascript">
function a(){
        var b=document.getElementById("b").val();
        console.log("b element is exist");
}
</script>
</head>
<body>
<script type="text/javascript">a();</script>
<p>js执行时元素未加载</p>
<input type="text" value="a" id="b" />
</body></html>

87,955

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧