关于我的问题:Validate dynamically added control
我们是否应该始终在javascripts上使用ready函数?
答案 0 :(得分:5)
只有在确保此类操作有效并且行为定义明确时,才应该仅操作DOM。
延迟执行直到“文档就绪事件”(jQuery.ready)确保DOM“完成”。但是,根据浏览器和上下文,很可能不需要它 - 不是我喜欢的东西(它还涉及更多思考并使代码更依赖于HTML /代码顺序)。
快乐的编码。
答案 1 :(得分:1)
JQuery文档显示如下:
以下所有三种语法 等同于:
•$(document).ready(handler)
•$()。ready(处理程序)(这不是 推荐)
•$(处理程序)
任何以$(handler)开头的JQuery都在DOM准备就绪时执行。您无需担心就绪位。
答案 2 :(得分:0)
否:仅在您需要等待DOM完成加载时才需要它。
您还可以使用“实时”功能进行绑定,这可能会减少页面加载时间,如此处所述 http://encosia.com/2010/08/18/dont-let-jquerys-document-ready-slow-you-down/
答案 3 :(得分:0)
阅读this
.ready()方法通常是 与...不相容 属性。如果必须使用负载, 要么不使用.ready()或使用 jQuery的.load()方法来附加load 事件处理程序到窗口或 更具体的项目,如图片。
您可以Google或在SO
上搜索类似的答案
答案 4 :(得分:0)
您无需使用文档准备就绪。将jQuery放在</body>
标记之前,将您的其他jQuery脚本和插件放在jQuery之后。
<script src="jquery.js"></script>
<script src="other.js"></script>
<script>
$('div').click.....
</script>
</body>
有一篇很棒的文章
答案 5 :(得分:0)
取决于你的工作元素,你有很多可能性。 如果它是导航栏或模块的juste,您可以选择不同的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>