だから私はこのJSを持っていて、コードを実行すると「eは定義されていません」と表示されます-何が欠けていますか?
$('ul.result-filters > li a').click(toggleFilters());
function toggleFilters(e) {
e.preventDefault();
//do more stuff
}
だから私はこのJSを持っていて、コードを実行すると「eは定義されていません」と表示されます-何が欠けていますか?
$('ul.result-filters > li a').click(toggleFilters());
function toggleFilters(e) {
e.preventDefault();
//do more stuff
}
これを使って :
$('ul.result-filters > li a').click(toggleFilters);
toggleFilters()
関数自体を渡す代わりに、の結果を渡していました。
$('ul.result-filters > li a').on('click', toggleFilters);
function toggleFilters(e) {
e.preventDefault();
//do more stuff
}
関数の後に括弧を追加すると、すぐに実行され、結果が返されます。関数を参照してクリックで呼び出すには、括弧を削除します。
これにより、イベントをtoggleFilters
関数で使用できるようになります。
クリックするハンドラー名を渡す代わりに、関数を呼び出しています。toggleFilters()から括弧を削除します
変化する
$('ul.result-filters > li a').click(toggleFilters());
に
$('ul.result-filters > li a').click(toggleFilters);
e = e || window.event
イベントを確実に開催するためにいつでも行うことができます。
関数呼び出しtoggleFilters()の代わりに関数名を使用する必要があります。
$('ul.result-filters > li a').on('click', toggleFilters);
function toggleFilters(e) {
e.preventDefault();
//do more stuff
}
ありがとう