重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

左クリックをした時と、クリックを解除をした時
右クリックをした時と、クリックの解除をした時
クリックを解除した時は共通の処理を行います。
左クリックをした時と、右クリックをした時の処理は分けたいと思っているのですが、上手くいきません。ご教授願えますでしょうか・・・。

[ mousedownとmouseup ]
この場合、クリックした瞬間にmousedownイベントが走り、クリックを上げた瞬間にmouseupイベントができます。
ただし、右クリックでも同様の処理が走ってしまいます。

[ contextmenu と onclick ]
上記を利用すると、右クリックはcontextmenu処理を行い、左クリックはonclick処理を行いますが、この2つのイベントはマウスが押されて離された瞬間にイベントが発生しますので、mouseup処理が先に処理してしまします。


よろしくお願い致します。

A 回答 (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>
    • good
    • 0

MouseEvent#button でクリックされたマウスボタンを判定できます。


http://www.y-adagio.com/public/standards/tr_dom2 …
    • good
    • 0

mousedown イベントを受ける function の引数で、左クリックか


右クリックかを判別して処理を分岐すれば良いのでは?

ここので 『右クリックでは動くけど、左クリックでは動かない』
例が載ってるよ。
http://www.red.oit-net.jp/tatsuya/java/event.htm
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!