2017-03-13 9 views
-1

* jQueryの構文は気にしないでください。それは一例としてのみ提供され、問題の焦点では​​ありません。javascriptの関数の後の括弧内にある数字は何ですか?

$('target').on('click',function(){ 

      'do something' 

     },5); 

5の価値は何ですか?それは初期値を設定しますか?

 },5,6,5); 

か1つの値のみを持つことができます。あなたのような複数の値を持つことができますか?

+0

(http://api.jquery.com/on/)あなたがしたいと私は意味 – Pointy

+0

、あなたは理論的にはできるだけ多くの引数を持つことができます任意の機能。それらの引数で動作するのは関数本体に任されています –

+1

ドキュメントが赤でしたか? [.on()documentation](http://api.jquery.com/on/) – JustARandomProgrammer

答えて

0

これらは単なる機能パラメータです。第2引数には何も特別な機能はありません。あなたは私がthe documentationを読んでお勧めしたい.on()関数に渡すことができるパラメータを正確に確認するには

$('target').on('click', doSomething, 5); 

function doSomething(){ 
    // do something 
} 

:明確にするために、あなたはまた、このように見えるようにコードをリファクタリングできます。

+0

はい、これは正しいと思います。私は数年後にそのようなイベントハンドラに要素を渡すためにこの機能を使用しませんでしたが、まだ存在しています(jQueryで)。 *しかし、*これを行うには、渡される値は、関数(コールバック)パラメータの前に*置かれていなければなりません。したがって私は、OPのコードが何をしていると思っているのか分かりません。 – Pointy

+0

あなたの例は動作しません。 'jquery.min.js:3 Uncaught TypeError:((n.event.special [g.origType] ||(中間値))。ハンドル|| g.handler).applyは関数ではありません'自分で試してみてください。あなたはおそらくオプションのデータとして5を意味していましたが、doSomethingの後にすることはできませんが、前にする必要があります。 – mauron85

+0

@ mauron85これはいい/有効なjquery関数だとは言わなかったが、私はOPのコードを使用していて、さまざまなパラメータが何であるかを説明していた – Aron

0

この引数は値をハンドラに渡します。

event.dataから値を取得できます。

単一値である必要があります。

複数のデータを渡す場合は、オブジェクトごとに値を渡します。

$("button").on("click", 3, function(e) { 
    alert(e.data) // alert 3 
}); 

リファレンス:[。参照用ドキュメントリンク、] http://api.jquery.com/on/

関連する問題