mousemoveイベント中にマウスの右ボタンまたは左ボタンが押されたかどうかを検出したい

私はHTML5を使用しており、マウスの移動中にマウスの右ボタンまたは左マウスボタンが押されているかどうかを知りたい。マウスの右ボタンには、右ボタンのevent.button = 2があります。左ボタンにはevent.button = 0があります。mousemoveの間は常にevent.button = 0です。私はいくつかのサンプルコードを提供しました。私は間違って何をしていますか?

<!DOCTYPE HTML>



<head>

<title>demo on detecting mouse buttons</title>
<meta charset="utf-8"/>




<script type="text/javascript">

function detectDown(event)
{
var string = "Mouse Down, event.button = " +event.button;
var canvas = document.getElementById("mycanvas");
var context = canvas.getContext("2d");
context.clearRect(0,0,300,20);
context.fillText(string,0,10);
}

function detectMove(event)
{
var string = "Mouse Move, event.button = " +event.button;
var canvas = document.getElementById("mycanvas");
var context = canvas.getContext("2d");
context.clearRect(0,30,300,20);
context.fillText(string,0,40);
}

function detectUp(event)
{
var string = "Mouse Up, event.button = " +event.button;
var canvas = document.getElementById("mycanvas");
var context = canvas.getContext("2d");
context.clearRect(0,60,300,20);
context.fillText(string,0,70);
}
</script>

</head>

<!-- -->

<body>




</body>

</html>
2
jsfiddle.comは、この種のテストやデモに役立ちます。
追加された 著者 a paid nerd,

1 答え

マウスの移動イベントは必ずボタンに依存しません。ボタンが押されているかどうかにかかわらず、マウス動きを報告します。どのボタンが停止しているかを追跡するフラグをマウスに作成する必要があります。 mouseup でリセットしてください。

4
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript