Jquery $(window).load与window.onload之间的区别
我有以下代码:
function initialize() { var mapOptions = { center: new google.maps.LatLng(53.743317, -0.331004), zoom: 12 }; var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions); } function loadScript() { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'https://maps.googleapis.com/maps/api/js?key={APIKEY}&sensor=false&callback=initialize'; document.body.appendChild(script); }
如果我放
$( window ).load(function() { loadScript; });
它不会加载我的地图。 谷歌地图中的错误js是Uncaught TypeError: Object # has no method 'Load'
。 但是,如果我使用
window.onload = loadScript;
它将加载它很好。 我完全不知道为什么。
$(window).load(loadScript());
也可以工作,只是把它作为一个函数调用它不。 你能告诉我这种行为的原因吗?
您实际上没有在$(window).load()
版本中调用loadScript
– 您刚刚创建了一个“void”表达式,该表达式计算为对该函数的引用。
要么:
$(window).load(function() { loadScript(); // NB: parentheses })
要么:
$(window).load(loadScript);
也就是说,你可能想要$(document).ready()
而不是$(window).load()
在您的jquery脚本中,您不调用loadScript方法…使用:
$( window ).load(function() { loadScript(); });
$(窗口).load在所有DOM准备好包括图像时执行。 这意味着如果我们的网页已经完全加载包括图像,那么$(window).load函数将调用。
$(window).load(function(){
// script
})
有关$(document).ready vs $(window).load vs window.onload的更多详细信息,请单击
http://www.delhincrjob.com/blog/what-is-document-ready-vs-window-load-vs-window-onload/