关于我在这里提出的问题:验证动态添加的控件
我们是否应该始终在JavaScript中使用ready函数?
只有在保证操作有效且具有良好定义行为时,才应该操作DOM。
延迟执行直到“文档准备就绪事件”(jQuery.ready)确保DOM已“完成”。但是,根据浏览器和上下文,很可能不需要这样做——这不是我喜欢打赌的事情(它还涉及更多思考,并使代码更依赖于HTML/代码顺序)。
愉快的编码。
JQuery文档显示如下:
下面的三种语法都是等价的:
• $(document).ready(handler)
• $().ready(handler) (不推荐使用)
• $(handler)
任何以$(handler)开头的JQuery代码都会在DOM准备好时执行,您不需要担心"准备好"这一点。
您不需要使用文档就绪。将您的jQuery放置在</body>
标签之前,将其他jQuery脚本和插件放置在您的jQuery之后。
<script src="jquery.js"></script>
<script src="other.js"></script>
<script>
$('div').click.....
</script>
</body>
关于这个问题有一篇很棒的文章 "不要让文档准备拖慢你的速度"
根据你所处理的元素,你有很多可能性。如果只是为了导航栏或模块,你可以选择不同的DOM元素。
/* for a menu */
$('.menu').ready(function() {...})
/* for the all page */
$(docuement).ready(function() {...})
但你也可以将jQuery文件和脚本包含在页面末尾。
<script src="jquery.js"></script>
<script>
$('.menu').click(function() {...})
</script>
不需要:只有在需要等待DOM完成加载时才需要。
您还可以使用“live”函数进行绑定,如此描述的那样,这可能会减少页面加载时间。 http://encosia.com/2010/08/18/dont-let-jquerys-document-ready-slow-you-down/