[英]Calling a function inside document.ready from outside document.ready
我有一个Jquery函数定义为:
jQuery(document).ready(function($){
function initAutoComplete(textBox, query, isMustMatch, isAjaxAfterKeyPress)
{
// autocomplete logic
}
});
我从外部document.ready调用此函数:
initAutoComplete($("#txt" + FromTo + "Country"), "WebAddr?srvList=Country&areaCd=OT&val=", true, false);
initAutoComplete无法识别,因为它在document.ready()范围内是正确的。
我通过将函数与window
对象挂钩来尝试以下代码:
window.initAutoComplete = function(textBox, query, isMustMatch, isAjaxAfterKeyPress)
{
//autocomplete logic
}
现在我从外部document.ready调用此函数:
initAutoComplete($("#txt" + FromTo + "Country"), "WebAddr?srvList=Country&areaCd=OT&val=", true, false);
但是我无法解决参考错误:无法识别initAutoComplete。 任何帮助表示赞赏。 谢谢!
编辑:更改对窗口的引用以使用jQuery版本,因为原始版本不起作用。
当您在窗口上定义函数时,如下所示:
$(window).initAutoComplete = function(textBox, query, isMustMatch, isAjaxAfterKeyPress)
{
//autocomplete logic
}
然后,您还需要像下面这样在窗口上调用它:
$(window).initAutoComplete($("#txt" + FromTo + "Country"), "WebAddr?srvList=Country&areaCd=OT&val=", true, false);
我唯一要提到的另一件事是确保您在document.ready之外调用它,实际上是在触发document.ready之后完成的。
查看此讨论
window.onload与$(document).ready()
事件的顺序取决于您使用的浏览器。 有细微的差别。 通读文章,并尽可能进行“ onload”(而不是“ ready”)更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.