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"});

不会并“禁用”整个脚本。更改电话也不再起作用。

4

3 回答 3

1

它看起来像是einheiten_filtern()一个事件处理程序,它从它接收到的事件对象中收集额外的数据。

您可以使用on()绑定到ready事件,同时提供额外的数据:

$(document).on("ready", {
    param1: "#Verbrauch_Einheit",
    param2: "#Verbrauch_Typ"
}, einheiten_filtern);
于 2013-02-13T15:27:16.530 回答
0

$(document).ready()您赋予它的功能或功能没有什么特别之处。只需使用普通的方法调用。

$(document).ready(function() {
  function_to_call_after_ready("1");
});
于 2013-02-13T14:57:07.443 回答
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将一组参数作为参数。它们都采用可变数量的参数。

于 2013-02-13T15:01:04.650 回答