2


2

bind()を使ってイベントハンドラを割り当てることの違いは誰かに教えてもらえますか:

$(function(){$( 'someElement').bind( 'mouseover'、関数(e){$(this).css({//色の変更});}).bind( 'mouseout'、function( e){$(this).css({//前の状態に戻る

;)); .bind( 'クリック'、function(e){$(this).css({// smth。 ;)); )

;));

そして同じタスクにeach()を使う:

$( 'someElement')。each(function(){

$(this).mouseover(function(){$(this).css({/ *色の変更* /}).mouseout(function(){$(this).css({/ *前の状態に戻る* / });});}); ;));

ありがとうございました。

1 Answer


6


あなたが挙げた例から、実際には 'bind’メソッドの使用と 'event’メソッドの使用の違いがあるのであれば何があるのか​​を尋ねていると思います。

例えば、どう違いますか?

$( '。some_element')。bind( 'クリック'、function(){/ * doもの* /});
  1. and this?

$( '。some_element')。(function(){/ * do stuff * /});をクリックします。

答えはそれが本当に問題ではないということです。 それは好みの問題です。 イベントメソッドは文法的に単純でタイプも少なくてすみますが、私が知っている限りでは違いはありません。 同じアクションに複数のイベントを添付する必要がある場合は速記イベントバインディングを使用できるため、bindメソッドを使用することをお勧めします。 また、いつイベントを「バインド解除」する必要があるのか​​を理解しやすくなります。

こちらを参照してください。 .bindと他のイベントの違い

しかし、実際の質問が尋ねるところから、「 'each’メソッドと 'bind’メソッドの違いは何ですか」…​ まあ、それはまったく違う獣です。

'bind’および 'event’メソッドは_much_ quicker CSSセレクターエンジンを使用するので(jQueryの場合はSizzleエンジンを使用するため)、イベントを添付するために 'each’メソッドを実際に使用してはいけません。

次のようなケースはほとんどありません(またはまったくありません)。

$( '。some_element')。each(function(){$(this).click(function(){/ *何かをする* /});});
  1. is better than this:

$( '。some_element')。bind( 'クリック'、function(){/ * doもの* /});