我知道mousedown
当用户按下鼠标按钮时mouseup
会发生这种情况,当释放鼠标时会发生这种情况click
,当然是两个事件mousedown
,mouseup.
我有三个不同的事件,每个事件都处理这三个事件 mouseup down 和 click。我的问题是如何区分这三者,现在我的鼠标按下有一个计时器,所以我正在考虑在该计时器中添加一个布尔值并在单击时对其进行测试,我尝试了这个,但它不符合我的标准。
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);
这只是一个简单的例子。我可能错过了一些编码,但我希望你能在上面的代码中发现我的偏差。有人知道区分这三个事件的好方法吗?