2013-02-26 15 views
11

私は、ユーザーがウェブサイトでやりとりするボックスのグリッドを持っています。ボックスをクリックすると色が変わります。非常にたくさんのボックスがあり、それほど退屈ではないので、機能性を持たせるのが良いでしょう。マウスボタンが押し下げられ、ボックスをホバーすると状態が変わります。何かご意見は?ホバー中にマウスボタンが押されていないか確認してください。

+0

のために役に立つことができます。 http://stackoverflow.com/questions/2349764/jquery-is-mousedown-on-mouseover – MattDiamant

答えて

16

ホバーコールバックに渡されるイベントにbuttonsプロパティを使用して、イベントが発生したときにどのマウスボタンが押されたかを確認できます。左ボタンが要素をマウスで入力されたとき、あなたが使用できる押されたかどうかを検出するために、例えば

、:

myElement.addEventListener("mouseover", function(e){ 
    if(e.buttons == 1 || e.buttons == 3){ 
     //do some stuff 
    } 
}) 

ここでは、このアイデアのデモンストレーションです:http://jsfiddle.net/Ah6pw/

を押したままマウスの左ボタンをクリックし、マウスを別のリスト項目に移動します。

+2

これはIEでのみ動作します。 – Jonathan

+1

@Jonathan trueですが、他のブラウザでは '.buttons'の代わりに' .which'を使うとうまく動作します。 – Oak

+0

@Jonathan私は広範囲にテストしていませんが、これはFirefoxでもうまくいくようです。 –

0

私は何かsimmilarを見つけました。ある空間でオブジェクトをクリックしてから、少しのやり取りをします。 http://mrdoob.github.com/three.js/examples/canvas_interactive_cubes.html(コードにインスピレーションを探してください)

また、これらのリンクは、いくつかの良い答えがここにありますあなた

関連する問題