我有以下的javascript
function onLoad() {
if (!(document.applets && document.VLVChart && document.VLVChart.isActive())) {
setTimeout('onLoad()', 200);
return;
}
objChart = document.VLVChart;
PollEvent();
}
function fan() {
objChart.reorganize();
}然后当HTML页面被加载-
<body onLoad="onLoad()">在执行fan()函数的HTML中有一个按钮-
<input type='button' value='Fan' onClick='fan();'>我是否有可能在onload事件中激活fan()函数,这样用户就不必单击按钮了?
编辑后,尝试提供的答案,在调试代码中断行-
objChart.reorganize();在fan()函数中存在错误-
SCRIPT5007: Unable to get value of the property 'reorganize': object is null or undefined 这很奇怪,因为当我手动单击页面上的按钮时,该函数可以正常工作。
解决方案经过大量的绞尽脑汁之后,我意识到在页面(更确切地说是objChart)完全加载之前,我正在尝试加载fan()函数。因此,为什么在onLoad事件中添加函数不起作用。我加了一个setTimeout -
function Fan()
{
setTimeout(function(){objChart.reorganize();},3000);
}发布于 2012-08-01 09:46:38
<body onload='onLoad(); fan();'>...然而,最好避免内联JS,您最好开始研究集中的事件管理。这样做有各种好处。
我昨天写的答案对另一个问题概述了为什么会这样。像jQuery这样的东西,如果对您来说是新的,就会使它变得微不足道。
$(function() {
$('body').on('load', function() {
onLoad();
fan();
});
});发布于 2012-08-01 09:47:57
读到你的问题我猜你都没试过。只需在onLoad()-function中调用该函数:
function onLoad()
{
fan();
/* … */
}发布于 2012-08-01 09:49:18
是。
您可以像Utkanos建议的那样使用<body onload='onLoad(); fan();'>。
如果使用jQuery,还可以在头部插入一个脚本,其中包含:
$(function(){
...
});jQuery函数实际上是在前面触发的,正如这里解释的那样。
https://stackoverflow.com/questions/11756606
复制相似问题