2013-02-13 93 views
1

之後的參數調用函數我認爲這對於jquery專業人員來說非常簡單。

我做了一個全局函數。它被更改事件調用。但它也應該在$(document)之後調用一次.ready

無參數函數的簡單故事。

$(document).ready(function() { 

function_to_call_after_ready(); 

}) 

但是我有一個參數來調用它,就像這樣:

({param1: "1"}, function_to_call_after_read) 

試了組合,但我不能弄明白。

原來這裏是通過改變事件被稱爲:

$("#Verbrauch_Typ").change({param1: "#Verbrauch_Einheit", param2: "#Verbrauch_Typ"}, einheiten_filtern); 

作品!

einheiten_filtern({param1: "#Verbrauch_Einheit", param2: "#Verbrauch_Typ"}); 

不會「禁用」整個腳本。此外,變更電話不再工作。

+7

我敢肯定,你試過'function_to_call_after_ready({PARAM: 「1」})'' – techfoobar 2013-02-13 14:56:25

+0

function_to_call_after_read({ param1:「1」})'? – 2013-02-13 14:56:49

+0

並且'function_to_call_after_ready(「1」)' – Archer 2013-02-13 14:56:57

回答

0

$(document).ready()或您給它的功能沒有什麼特別之處。只需使用普通的方法調用即可。

$(document).ready(function() { 
    function_to_call_after_ready("1"); 
}); 
0

我還不能肯定你問做什麼,但如果你想調用一個函數的參數個數可變使用.apply

function_to_call.apply(window, arrayOfArguments); 

如果你想改變this在功能的情況下,使用.call.apply

function_to_call.apply(jQuery, arrayOfArguments); 

.call的工作相同,但需要單獨的參數而不是所有參數的數組。

如果你想綁定這樣一個功能,而不是立即調用它,如果有使用.bind,或者jQuery的$.proxy

$(document).ready(function_to_call.bind(jQuery, arg1, arg2)); 

無論.bind也不$.proxy採取的參數作爲一個數組參數。他們都有不同數量的論據。

1

看起來好像einheiten_filtern()是一個事件處理程序,它從收到的事件對象收集附加數據。

您可以使用on()綁定到ready事件,同時提供額外的數據:

$(document).on("ready", { 
    param1: "#Verbrauch_Einheit", 
    param2: "#Verbrauch_Typ" 
}, einheiten_filtern);