我有一个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 as:
调用了这个函数initAutoComplete($("#txt" + FromTo + "Country"), "WebAddr?srvList=Country&areaCd=OT&val=", true, false);
但是我无法修复引用错误:无法识别initAutoComplete。 任何帮助表示赞赏。谢谢!
答案 0 :(得分:0)
编辑:更改了对窗口的引用以使用jQuery版本,因为vanilla版本无效。
在窗口上定义函数时,如:
$(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解雇后完成的。
答案 1 :(得分:0)
检查此讨论
window.onload vs $(document).ready()
事件的顺序取决于您使用的浏览器。有一个微妙的区别。仔细阅读文章,并尽可能进行必要的修改,以及#34; onload"而不是"准备好"。