我有一个名为showStuff()的函数,我希望在init期间调用一次,并在select字段更改时再调用一次。我需要将一个类或id名称传递给函数,但这不起作用:
$('.filterChange').change($('#htmlElement'), showStuff);
我做错了什么?解决方法是在更改时调用泛型函数,然后调用showStuff(),但我不明白为什么更改触发器不起作用。与.bind触发器相同的问题。
答案 0 :(得分:3)
以下是关于如何将数据传递给事件的基础:
function greet(event) { alert("Hello "+event.data.name); }
$("button").on("click", { name: "Karl" }, greet);
$("button").on("click", { name: "Addy" }, greet);
答案 1 :(得分: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'))