• 締切済み

javascriptのイベント処理につきまして

左クリックをした時と、クリックを解除をした時 右クリックをした時と、クリックの解除をした時 クリックを解除した時は共通の処理を行います。 左クリックをした時と、右クリックをした時の処理は分けたいと思っているのですが、上手くいきません。ご教授願えますでしょうか・・・。 [ mousedownとmouseup ] この場合、クリックした瞬間にmousedownイベントが走り、クリックを上げた瞬間にmouseupイベントができます。 ただし、右クリックでも同様の処理が走ってしまいます。 [ contextmenu と onclick ] 上記を利用すると、右クリックはcontextmenu処理を行い、左クリックはonclick処理を行いますが、この2つのイベントはマウスが押されて離された瞬間にイベントが発生しますので、mouseup処理が先に処理してしまします。 よろしくお願い致します。

みんなの回答

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

こんなんでどうでしょう <script type="text/javascript"> function Handler(event){  switch(event.type){   case 'mousedown':    switch(event.button){    case 0:alert("左ボタンが押された");return;    case 1:alert("右ボタンが押された");return;    }    return;   case 'mouseup':    alert('解除された');    return;  } }  document./*@cc_on @if (@_jscript_version > 5.8)   addEventListener(   @elif (@_jscript_version <= 5.8)   attachEvent( 'on'+  @else@*/  addEventListener( /*@end@*/  'mousedown',Handler,false);  document./*@if (@_jscript_version > 5.8)   addEventListener(   @elif (@_jscript_version <= 5.8)   attachEvent( 'on'+  @else@*/  addEventListener( /*@end@*/  'mouseup',Handler,false); </script>

  • think49
  • ベストアンサー率59% (285/482)
回答No.2

MouseEvent#button でクリックされたマウスボタンを判定できます。 http://www.y-adagio.com/public/standards/tr_dom2_events/events.html#Events-MouseEvent

noname#212058
noname#212058
回答No.1

mousedown イベントを受ける function の引数で、左クリックか 右クリックかを判別して処理を分岐すれば良いのでは? ここので 『右クリックでは動くけど、左クリックでは動かない』 例が載ってるよ。 http://www.red.oit-net.jp/tatsuya/java/event.htm

関連するQ&A