1

我有一个名为 showStuff() 的函数,我想在初始化期间调用一次,然后在选择字段更改时再调用一次。我需要将类或 id 名称传递给函数,但这不起作用:

$('.filterChange').change($('#htmlElement'), showStuff);

我究竟做错了什么?解决方法是在更改时调用通用函数,然后从那里调用 showStuff() 但我不明白为什么更改触发器不起作用。.bind 触发器也有同样的问题。

4

2 回答 2

3

下面是如何将数据传递给事件的基本知识:

function greet(event) { alert("Hello "+event.data.name); }
$("button").on("click", { name: "Karl" }, greet);
$("button").on("click", { name: "Addy" }, greet);

http://api.jquery.com/on/

于 2012-10-26T21:20:57.620 回答
3

您应该将其作为 Map 传递,因为这是公认的语法。

$('.filterChange').change({'myelement': $('#htmlElement')}, showStuff);

function showStuff(e) {
   $(e.data.myelement.show());
}

我认为你想要的是一个简单的内部函数,如下所示,

$('.filterChange').change(function () {
   showStuff($('#htmlElement'));
}).change(); //trigger during init or simply call showStuff($('#htmlElement'))
于 2012-10-26T21:24:01.633 回答