从document.ready外部调用document.ready.内部的函数

Calling a function inside document.ready from outside document.ready

本文关键字:ready document 函数 外部调用 内部      更新时间:2023-09-26

我有一个Jquery函数定义为:

jQuery(document).ready(function($){
function initAutoComplete(textBox, query, isMustMatch, isAjaxAfterKeyPress)
        {
           // autocomplete logic
        }
});

我正在从外部文档调用此函数。准备为:

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。感谢您的帮助。谢谢

查看此讨论

window.onload与$(document).ready()

事件的顺序取决于您使用的浏览器。有一个微妙的区别。通读这篇文章,并在可能的情况下进行必要的更改,以"onload"而不是"ready"。

编辑:更改对窗口的引用以使用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.read被解雇后完成的。