js给某个text标签添加鼠标的双击事件

JavaScript09

js给某个text标签添加鼠标的双击事件,第1张

js 的单双击事件同时存在会有一个问题:双击事件会同时触发单击事件,两个事件存在冲突。

我们加一个延迟时间就能很好的解决这个问题。

原理: 当接收到第一个点击时,我们先把单击事件存储在这个是全局变量 click_store 里,如果 0.3 秒内没有接收到双击事件,就去执行它,如果接收到了,我们把它清理掉,然后去执行双击事件。setTimeout() 可以实现延迟执行。

原则上双击和单击是不可以共存的,因为两者之间是存在逻辑冲突的,双击是由两次间隔很短的单击组成的,这样的话,如果单击和双击都设定了事件响应,当发生单击时,系统并不能立刻判断这是一个单击事件还是一个双击事件的第一次单击,这样系统就会进入等待状态,在经历一段短暂的时间后如果没有再次单击就判定为单击事件,否则就是双击。不管最终结果是什么,都必定会对程序的运行造成影响(单击事件会出现延迟,而且很容易造成误判)。所以建议你不要同时设定对象的单击和双击事件,用了单击就不要再用双击,反之亦然,否则冲突是在所难免的!