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