2017-02-15 6 views
0

私はこのような何かしたい:JavaScriptを使用して要素に関数を割り当てるにはどうすればよいですか?

div.onclick = function(x, y); 

私は機能を実行せずにこれを行うことができますどのように?

私はjQueryを使いたくありません。

+0

google 'addEventListener'それには –

+0

関数呼び出しを無名関数でラップするか、' bind'を使用します – 4castle

+0

EventListenersを使用せずに何もありませんか? – Progaros

答えて

0
var NewFunction = function(x){ 
// your function code 
}; 
div.onclick = NewFunction; 
+0

これらのパラメータは、これらの括弧の中に必要です。 – Progaros

+1

'NewFunction'が呼び出されると、1つの引数が渡されますイベントオブジェクト)、2つの引数が必要です。大文字で始まる関数名は、従来はJavaScriptのコンストラクタ関数用に予約されていましたが、これは1つではありません。 – Quentin

+0

@Progaros "click"はシステム生成のイベントであるため、トリガされるたびにイベントの詳細が最初のパラメータとして自動的に渡されます。 – MrClan

1

ファンクションの後に()を配置します。そうしないでください。

div.onclick = function; // Note: function is a keyword and can't really be used as a variable name 

これは、引数を指定して関数を呼び出すことはありません。イベントハンドラ関数は常に1つの引数、つまりイベントオブジェクトで呼び出されます。

新しい関数を作成して、これらの引数を使用して呼び出す必要があります。あなたがofcourseのそのコンテキストに知られている何かを、xとyを交換する必要がある第2の機能の割り当てで

function myhandler(event) { 
    function(x, y); // Still not a valid name 
} 
div.onclick = myhandler; 
0
var myFunction = function(x,y){ 
    //Some code here 
}; 
div.onclick = function(){ return myFunction(x, y); } 

関連する問題