1

同時イベントをjQueryのセレクタにバインドするにはどうすればよいですか?jQueryで同時イベントをバインドする方法

私は、どの要素をクリックしたりホバーするかを決めるのではなく、両方のイベントが同時に発生するという条件で2つのイベントを捕捉する方法を意味します。たとえば、マウスオーバーやキーダウン、Shift +クリックなどのクリック&キーダウンなど。

ありがとうございます。

$('#foo').bind('mouseenter mouseleave', function() { 
    $(this).toggleClass('entered'); 
}); 
+1

mouseover + keydownの取得はshift + clickとは大きく異なります。 –

答えて

2

シフト+クリックを検出するのは簡単です:eventオブジェクトのshiftKeyプロパティを確認してください。一方、押下されたキー+マウスイベントを(同時に)、チェック

...:

  • バインド変数
  • event.keyCode又は event.whichを格納するのKeyDown/keyUpイベント関数にイベント
  • 最後に記憶されたキーストローク(例:300ミリ秒)がカウントされるように、この変数を定期的にリセットするポーラー関数を作成します。
  • mousedownイベントを追加します。該当する場合は、コード。 (例では、2つのKeyDownイベント)を複数のイベントを処理する完全なコードについて

my previous answer参照。

+0

これは、私が既に試したことに最も近いです、定期的に変数をリセットするために実行され、良いアイデアのように聞こえます。みんな、ありがとう。 – cincplug

0

jqueryのは、複数のイベントタイプは、スペースで区切って各1を含めて一度にバインドすることができ

http://api.jquery.com/bind/

1

をバインドすべてのイベントハンドラは一度に1つのイベントしか処理できないためです。

+0

彼は、2つのイベントが発生したときにのみ、関数を起動させたいと考えています。その場合、これは動作しません。 – FRD

0

あなたはマウスイベントとキーボードをキャッチすることはできません。

0

JQueryでは、このような機能は何も提供していません。あなたはイベントを通してあなた自身の状態変化を追跡しなければなりません。

関連する問題