我正在尝试在我的asp.net webform页面中运行我的javascript,但我不确定它是否正常运行,因为尚未加载所有元素。如何使用jquery确保我的脚本位于页面的最底部?所以它可以在页面加载时运行吗?
答案 0 :(得分:3)
即使每个人都说使用$(document).ready
,这也是一种反模式。
你真正想要做的是将你想要加载的任何脚本放在正文的末尾
<html>
<head> ... </head>
<body>
...
<script src="..." ></script>
</html>
只要您的脚本位于所有其他HTML内容的末尾,javascript就会在其上方的内容加载时触发。
答案 1 :(得分:1)
使用.ready()
:
$(document).ready(function($) {
// page is loaded
});
当JavaScript提供用于执行代码的load事件时 页面呈现,此事件在所有资产之前都不会被触发 如图像已被完全接收。在大多数情况下, 只要DOM层次结构完全可以运行脚本 建造。传递给.ready()的处理程序是保证的 在DOM准备好之后执行,所以这通常是最好的地方 附加所有其他事件处理程序并运行其他jQuery代码。使用时 依赖于CSS样式属性值的脚本,这很重要 以前引用外部样式表或嵌入样式元素 引用脚本。
答案 2 :(得分:1)
使用jQuery,您希望附加到ready事件。加载所有DOM元素后会触发此事件:
jQuery(document).ready(function(){
// jQuery Code here
});
速记版:
$(function(){
// ...
});
使用此方法,我通常将jQuery放在外部文件中,或放在<head>
标记中。
答案 3 :(得分:1)
使用纯JavaScript,您可以使用
window.onload = function() {
// Page loaded
};
或者你可以使用jQuery的ready
函数:
$( document ).ready( function() {
// Dom loaded
} );
注意:jQuery的ready函数在DOM加载时触发(除非浏览器不支持dom-ready方法),而不是整个页面加载时(图像,脚本等)。
答案 4 :(得分:0)
您应该按照JQuery文档中的建议将代码放在文档就绪块中。 这样,它将在加载所有脚本时加载。
$(document).ready(function(){
//Put your code here
});
答案 5 :(得分:0)
当页面完全加载时,确保javascript运行的最佳方法是什么?
如果你的意思是“完全加载”,即所有图像和其他资源下载,那么你必须使用onload
处理程序,例如:
window.onload = function() {
// Everything has loaded, so put your code here
};
如果您的意思是“在解析完所有HTML并且可以从脚本访问所有元素之后”,此时图像可能仍在下载,那么您可以将脚本放在源HTML的底部或使用document.ready处理程序。或两者。有关详细信息,请参阅任何其他答案。