マウスボタンが押されているかどうかを登録するはずの短いスクリプトをテストしていますが、テストしたすべてのブラウザーで、マウスボタンが押されていないときに onmouseup と onmousedown の両方のイベントが同時に発生します。
これは一例です:
var check = 0;
document.onmousedown = function() {
check++
}
document.onmouseup = function() {
check--
}
setInterval(function() {
if (check) {
console.log(check)
}
}, 1000 / 30);
マウスを押したままにすると、コンソールで「1」がスパムになるはずですが、機能しません。そして、このコードで:
document.onmousedown = function() {
console.log('down');
}
document.onmouseup = function() {
console.log('up');
}
マウスを押しても何も発生しないことは簡単にわかりますが、マウスを離すと両方のイベントが発生します。私は何が欠けていますか?