我觉得这对于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"});
不会和"禁用"整个剧本。此外,改变电话不再有效。
答案 0 :(得分:1)
看起来einheiten_filtern()
是一个事件处理程序,它从它收到的事件对象中收集其他数据。
您可以使用on()绑定到ready
事件,同时提供其他数据:
$(document).on("ready", {
param1: "#Verbrauch_Einheit",
param2: "#Verbrauch_Typ"
}, einheiten_filtern);
答案 1 :(得分:0)
$(document).ready()
或您给它的功能没什么特别之处。只需使用普通的方法调用即可。
$(document).ready(function() {
function_to_call_after_ready("1");
});
答案 2 :(得分: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
都不会使用一组参数作为参数。他们都采用了不同数量的论点。