mousedown
ユーザーがマウスボタンを押したときに発生mouseup
し、マウスを離したときに発生し、click
もちろん2つのイベントmousedown
でありmouseup.
、これら3つのイベントをそれぞれマウスアップとクリックで処理する3つの異なるイベントがあります。私の質問は、3つを区別する方法です.マウスダウンにはタイマーがあるので、そのタイマーにブール値を追加してクリック内でテストすることを考えていました.
Mousedown
- タイマーは特定のクラスをチェックし、対象の要素内にこれらのクラスが存在しない場合は処理を続行します
Mouseup
- タイマーをクリアする
Click
- モジュールを開く
ブール値を、それぞれが読み取れるか読み取れないグローバル変数にしていないか、何かが完全に欠落している可能性があります。これは私の完全なコードのクイックコードの例です:
var isDown = false;
ee[i].addEventListener('click',function(){
if(isDown===false){
openModule();
}
},false);
ee[i].addEventListener('mousedown',function(){
var timer;
var $this = this;
timer = setTimeout(function(){
if($this.className == "class"){
isDown=true;
createActive();
}
},500);
},true);
ee[i].addEventListener('mouseup',function(){
clearTimeout(timer);
},false);
これは簡単な例です。一部のコーディングを見逃している可能性がありますが、上記のコードで私のドリフトを理解していただければ幸いです。3 つのイベントを区別する良い方法を知っている人はいますか?