1. ホーム
  2. ジャバスクリプト

[解決済み】jQueryの.click - ユーザー関数にパラメータを渡す

2022-04-16 11:12:54

質問

jQueryの.clickを使ってパラメータ付きの関数を呼び出そうとしているのですが、うまくいきません。

このように動作させたいのです。

$('.leadtoscore').click(add_event('shot'));

を呼び出す。

function add_event(event) {
    blah blah blah }

このように、パラメータを使わなければうまくいくのですが。

$('.leadtoscore').click(add_event);
function add_event() {
    blah blah blah }

しかし、パラメータを自分の add_event 関数を使用します。

具体的にどうすればいいのでしょうか?

を使うことができるのは知っています。 .click(function() { blah } が、私は add_event 関数を複数個所から実行したいので、このようにします。

どのように解決するのですか?

この解決策は、jQueryのバージョン1.4.3から導入された機能の一部です。 クリックイベントハンドラ

これは、イベントオブジェクトにデータマップを渡すことができ、それが自動的にjQueryによってイベントハンドラ関数に最初のパラメータとしてフィードバックされます。データマップは .click() 関数を最初のパラメータとして、その後にイベントハンドラ関数が続きます。

以下は、私が言いたいことを説明するためのコードです。

// say your selector and click handler looks something like this...
$("some selector").click({param1: "Hello", param2: "World"}, cool_function);

// in your function, just grab the event object and go crazy...
function cool_function(event){
    alert(event.data.param1);
    alert(event.data.param2);
}

今更な質問ですが、過去の回答からこの解答にたどり着きましたので、いつか誰かのお役に立てれば幸いです