jQuery准备好了,它总是需要吗?

时间:2011-03-29 07:01:51

标签: javascript jquery

关于我的问题:Validate dynamically added control

我们是否应该始终在javascripts上使用ready函数?

6 个答案:

答案 0 :(得分:5)

只有在确保此类操作有效并且行为定义明确时,才应该仅操作DOM。

延迟执行直到“文档就绪事件”(jQuery.ready)确保DOM“完成”。但是,根据浏览器和上下文,很可能不需要它 - 不是我喜欢的东西(它还涉及更多思考并使代码更依赖于HTML /代码顺序)。

快乐的编码。

答案 1 :(得分:1)

JQuery文档显示如下:

  

以下所有三种语法   等同于:

     

•$(document).ready(handler)

     

•$()。ready(处理程序)(这不是   推荐)

     

•$(处理程序)

任何以$(handler)开头的JQuery都在DOM准备就绪时执行。您无需担心就绪位。

消息来源:http://api.jquery.com/ready/

答案 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>

关于这个“don't let document ready slow you down

有一篇很棒的文章

答案 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>