一直在谷歌上寻找这个/最佳实践的答案。
假设你的大部分javascript都在$(document).ready()
中,不管出于什么原因,在那里你有一个函数,你想根据一些外部javascript函数“触发”。
最好的方法是什么?简单地将函数移到全局空间并不完全可行,因为$(document).ready()
中包含了所有变量和内容
在这个例子中,外部javascript发出 AJAX 请求,当请求完成时,data get加载到页面上,然后我希望当外部javascript ajax完成时,能够在$(document).ready()
内部触发该函数,但是我不能简单地调用该函数,因为它不在全局空间中。
2条答案
按热度按时间uelo1irk1#
你可以使用setter来强制转换:
如果你在
$().ready
完成之前调用函数,它将等待直到$().ready
运行。如果$().ready
已经运行,它也将调用函数用法
在
$().ready
中,您必须调用set('<function name>', <function>)
,当您要调用函数时,请运行run('<function name>', ...<argumentts> )
或者更简单的方法是删除
$().ready
,然后在<body>
的末尾键入<script>
,这样就可以了vc9ivgsu2#
如果您不想公开一个全局变量,那么您可以创建一个代码必须触发的事件,该事件将在事件完成时发出通知。