我知道,当用户按下鼠标按钮时会发生mousedown,当释放鼠标并点击鼠标当然发生两个事件mousedown和mouseup时会发生mouseup。我有三个不同的事件,每个处理这三个事件mouseup down并单击。我的问题是如何区分这三个,现在我的鼠标下来有一个计时器,所以我想在该计时器中添加一个布尔值,并在点击内测试它,我试过这个,它不符合我的标准。区分mouseup mousedown和点击
某些类别Mousedown-计时器检查然后,如果没有这些类的靶向元件中存在继续
Mouseup-清零定时器
点进打开一个模块
我可能还没有作出布尔型的全局变量,每个都可以读取或不可以,或者我完全缺少某些东西。这里是我的完整代码的示例快速代码
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);
这只是一个简单的例子。我可能错过了一些编码,但我希望你能在上面的代码中发现我的偏见。任何人都知道区分这三个事件的好方法吗?
哈哈,我没有使用jQuery,所以为什么我没有写jQuery作为标签;)我也习惯使用jQuery很多,虽然在回顾了很多jQuery库之后,我可能不会使用它。在这里和那里都可以,知道Vanilla如何为我编写的代码实例化,比如20ms,而jQuery将会像1000ms一样只是一个数字,但仍然是一件很棒的事情。我看到你做了什么,所以我会把它改成香草,如果我把它做得很好,我会添加我是如何创建的。 – EasyBB
是的,它会非常容易unjQuery它。只需改变“$('。class')。mousedown(”回到“ee [i] .addEventListener('mousedown',”并且对mouseup部分执行相同的基本操作,我写了一个无jQuery的问题,但遇到了一个问题(可能是因为我理解你的目标更好一些),并且不想再花时间计算出它。 jQuery在编码器上非常简单,虽然它的运行速度可能会缺乏(可以'确认或否认),只要你不使用大量复杂的代码来使用户系统死亡,结果就是值得的。 – JxAxMxIxN
不,你是对的,代码是很长的,而不是使用jQuery,我决定使用JavaScript(香草),因为它是我的轻量级选项与jQuery相比,它不会吃用户系统,但用jQuery你会有做很多不必要的事情来完成代码的功能。特别是对于我鄙视lol的jQuery。我会标记你的答案是正确的,因为你是唯一的答案,并且它足够接近我去除了jQuery以外的地方;) – EasyBB