我目前正在使用Simon Willson's addLoadEvent函数来添加我想在加载事件之后运行的函数。我遇到了一个问题,其中传递给addLoadEvent函数的函数引用了尚未由DOM加载的div,因此我的操作(显示div)没有做任何事情。当我更改为使用jQuery $(document).ready函数时,div已由DOM加载,并且可以使用它执行操作(使其显示)。将函数传递给jQuery .ready()函数
因此,一对夫妇的问题。为什么我的函数在DOM使用上面的函数完成加载之前被执行?有没有办法延迟它?我能想到的另一种方法是通过在函数中一个jQuery等价的:
function jqueryAddReadyEvent(myFunc)
{
$(document).ready(function()
{
//execute already existing functions
//add a new function to the ready event
myFunc();
}
}
当我尝试上面的代码,我得到一个JavaScript错误“myFunc的是不是一个函数”。有没有办法将一个函数传递给jquery ready函数并让它执行?等同于以下:
$(document).ready(function()
{
funcA();
}
$(document).ready(function()
{
funcB();
}
...//more of the same
替换为以下几点:
jQueryAddReadyEvent(funcA);
jQueryAddReadyEvent(funcB);
如果您收到此错误,那么你是不是传递一个函数来'jqueryAddReadyEvent'(http://jsfiddle.net/fkling/A2Pm3/)。 –
你传递给jqueryAddReadyEvent的参数是什么?你确定它是一个函数吗? –
尽管我不推荐它,但您始终可以使用'setTimeout'。我敢说'$(document.read(function(){funcA(); funcB();});'是最好的方法。找出更多关于你的参数的信息(如果你还没有查找'console.log',你会喜欢的) – Jacksonkr