select框同时有onclick和ondbclick处理函数的时候,如何在双击的时候屏蔽单击事件处理?

时间:2021-02-27 19:27:49
我的一个seelct框如下:
<select name="select" size="4" ondblclick="javascript:moveItem();" onclick="javascript:clickSelect1();">
  <option value="s">s</option>
  <option value="e">e</option>
</select>

同时有onclik和ondbclick事件函数。但我发现在双击的时候,先执行onclick,再执行ondblclick,有没有办法在双击的时候屏蔽单击

7 个解决方案

#1


关注 
帮你顶

#2


单击事件处理函数延时100毫秒执行

双击事件处理函数首先就是取消单击事件的延时句柄
var timerClick=null;
function clickSelect1(){
  timerClick=window.setTimeout("__clickSelect();",100);
}
function moveItem(){
  if(timerClick){
    window.clearTimeout(timerClick);
  }
}

#3


to 楼上
但我怎么知道双击的时间间隔?这个在javascript里是不能设置也取不到的吧

#4


采用延时执行单击,如果有双击事件发生,立即清除单击的定时器。
当然,一定要保证你的双击时间间隔大于单击的延时时间。
双击时间间隔在系统里面可以设定的,这个就只有看具体的了。

#5


说错了,是“双击时间间隔小于单击的延时时间”

#6


up

#7


虽然没有解决,但是收获是有的

#1


关注 
帮你顶

#2


单击事件处理函数延时100毫秒执行

双击事件处理函数首先就是取消单击事件的延时句柄
var timerClick=null;
function clickSelect1(){
  timerClick=window.setTimeout("__clickSelect();",100);
}
function moveItem(){
  if(timerClick){
    window.clearTimeout(timerClick);
  }
}

#3


to 楼上
但我怎么知道双击的时间间隔?这个在javascript里是不能设置也取不到的吧

#4


采用延时执行单击,如果有双击事件发生,立即清除单击的定时器。
当然,一定要保证你的双击时间间隔大于单击的延时时间。
双击时间间隔在系统里面可以设定的,这个就只有看具体的了。

#5


说错了,是“双击时间间隔小于单击的延时时间”

#6


up

#7


虽然没有解决,但是收获是有的