js如何阻止onclick点击事件响应两次

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js如何阻止onclick点击事件响应两次相关的知识,希望对你有一定的参考价值。

情况是这样的,我在div标签中写了个onclick事件,应该是点击一次响应一次,但是在安卓系统中点击一次相当于点击了两次,有什么好办法来控制这个重复点击吗?

参考技术A 用一个bool值判断,默认等于true,在点击的时候判断如果是true就执行,在执行结束的时候赋值为false本回答被提问者采纳 参考技术B 可以用js的内置函数setTimeout(),在事件产生后间隔一段时间才执行,如50ms,如果50ms内产生了第二次事件,重新调用setTimetout函数,知道50ms内没有再次产生事件,就执行追问

这个没效果,我调到3秒了都没用

追答

那就是你没写对,不介意的话,你可以把你的js贴出来

JS阻止冒泡事件以及默认事件发生的简单方法

如果<p>是在<div>里面,那么呢,<P>有一个onclick事件,<div>也有onclick事件,为了触发<P>的点击事件时,不触发父元素的点击事件,那么就需要调用如下函数:
 
 代码如下:
function stopBubble(e){
  if(e&&e.stopPropagation){//非IE
   e.stopPropagation();
  }
  else{//IE
   window.event.cancelBubble=true;
  }
 } 
 
 
<a onclick=‘‘>如果要阻止默认事件的触发,即默认的href事件,那么就需要调用如下函数:
 
代码如下:
function stopDefault( e ) {
         //阻止默认浏览器动作(W3C)
         if ( e && e.preventDefault )
             e.preventDefault();
         //IE中阻止函数器默认动作的方式
         else
             window.event.returnValue = false;
         return false;
     } 

以上是关于js如何阻止onclick点击事件响应两次的主要内容,如果未能解决你的问题,请参考以下文章

前端js点击事件怎么取消捕获

怎样使js中的onclick事件只触发一次,就是我点击了一次,再次点击的时候不让其再触发

用JS添加的DIV,无法触发onclick事件 请求帮助

js在父元素上添加点击事件,怎么阻止子元素继承父元素的点击事件?

移动端JS父层Touch事件用了冒泡,子层onclick事件不生效

js 怎样使div无法响应点击事件