我有一个从 body 调用的函数
onBodyLoad
onload
:
var someGlobalVar = new SpecialType();
function onBodyLoad() {
someGlobalVar.Bind();
}
当我在项目中包含 jQuery 1.4.2 时,我收到一个错误,指出 someGlobalVar 是 未定义。 为什么 JQuery 会影响全局变量? 关于如何修复它有什么建议吗?
除非您需要再使用
<body onload='OnBodyLoad()'>
,否则您可以将其更改为使用 jQuery 的 document.ready
(并将其移动到外部文件!),如下所示:
var someGlobalVar=new SpecialType();
$(OnBodyLoad);
//or..
$(function() {
//other stuff..
OnBodyLoad();
});
//or...
$(document).ready(function() {
//other stuff..
OnBodyLoad();
});
为什么不使用 jQuery 的 load 事件?
$(window).load(function() {
functiontoexecute();
});
很简单,也很容易。
只是一个旁注。
// DOM Ready
$(document).ready(function() {});
// When the page has completely loaded
<body onload="someFunction()">
也许 jQuery 会干扰
SpecialType
,因此对 new SpecialType();
的调用会导致变量 someGlobalVar 为 undefined
。
尝试使用控制台检查是否有任何警告,并尝试手动实例化 SpecialType 对象。这应该会给您一些见解。