我继承了一些代码,所有我想做的就是运行一些jQuery代码,特别是一个警报。
我知道如何使用jQuery/JavaScript来做到这一点,但现在我确定是否可以只使用我已经拥有的东西,如下所示:
<script>
$LAB
.script("js/lib/jquery-1.7.1.min.js").wait()
.script("js/lib/jquery.mobile-1.1.0.min.js").wait()
.script("../js/mobile/config/buildfile.js").wait()
.script("js/init.js")
.wait(function () {
$(function() {
setupHelpers();
loadApp(true,
function () {
},
function () {
});
});
});
</script>我是否仍然需要使用document.ready,或者我是否可以将该警报放在上面代码中的某个位置?谢谢
发布于 2012-05-31 23:26:40
是否需要等待DOMready的答案与LABjs是否在图片中是分开的。将"DOMready“与”脚本已完成和就绪“混为一谈是一种常见的误解,而实际上它们是两个独立的事件,应该根据您的需要单独对待。
所以,为了回答你的具体问题,你应该等待DOMready吗?答案是,这取决于您是否需要DOM来显示警报。如果你正在使用普通的alert()对话框弹出窗口提醒用户,那么你不需要。如果你正在使用一些插件,通过将a注入到DOM中来显示警告,那么是的,你肯定需要等待DOM。
无论您做什么,都不要相信“脚本已加载”事件(这是您在最后的wait(..)调用中得到的)意味着DOM已经准备好的谬误。这不一定是真的。
规则1:如果某些任务需要DOM,请始终使用DOMready事件处理程序等待,不要假设。
规则2:如果您需要等待部分或所有脚本完成加载,请使用脚本加载事件,就像LABjs这样的脚本加载程序为您提供的一样。
规则3:如果需要DOM和脚本来完成加载,则通过在脚本加载的处理程序中嵌入DOMready处理程序来组合这两个事件,如上所述。
https://stackoverflow.com/questions/10818304
复制相似问题