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 に答える