簡體   English   中英

從document.ready外部調用document.ready內部的函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM