簡體   English   中英

在哈希中調用Javascript函數

[英]Calling Javascript function in a hash

我在解決如何調用作為另一個對象一部分傳遞給哈希的函數時遇到一些問題。 所以,我有這個構造函數來創建對象:

function CheckField(jquery_id, test) {
    this.jquery_obj=$(jquery_id);
    this.test=function() {test(this.jquery_obj);};
}

我在代碼中的其他位置將這些對象以及每個對象的自定義測試功能存儲到哈希中,並遍歷它們以將它們設置為在某個時間間隔內被調用:

var fields_to_check = {};
fields_to_check["qt_num_box"] = new CheckField("#qt_num_box", function(qnb){return invalid_quotes(qnb);});
fields_to_check["total_num_lines_box"] = new CheckField("#total_num_lines_box",
                                                        function(tnlb) {
                                                            return isNaN(tnlb()) || 0 >= tnlb.val();
                                                        });
//...
for (var key in fields_to_check) {
    unsafeWindow.console.log("Setting interval for "+key);
    setInterval(set_textbox_border(fields_to_check[key].test, 10000);
}

CheckField了如何為存儲在fields_to_check每個CheckField對象調用自定義測試函數。

如何為哈希中的每個項目調用自定義測試功能?

您可以像調用其他任何函數一樣調用該函數:

fields_to_check[key].test();

我發現我將10000放在錯誤的位置,並且第一個參數需要是一個函數。 setInterval的調用應如下所示:

setInterval(function() (set_textbox_border(fields_to_check[key].test)), 10000);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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