在Javascript中,双击就像两次简单的点击一样

在Javascript中,双击就像两次简单的点击一样,javascript,events,click,listener,selection,Javascript,Events,Click,Listener,Selection,我的网页中有一些可以点击的元素。比如说,当你点击它们时,它们会改变背景颜色。每次你点击它们都会得到不同的颜色。它们最初是灰色的,然后是蓝色的,然后是黄色的,然后是橙色的,再回到灰色的,等等 现在的问题是,所有这些都是通过单击来实现的,但我希望我的双击可以充当两次单击,而不是触发双击事件(它会选择单词等) 让我们假设我们有下面的句子 <p>This is my <span id="elem_1" className="color_1"> element </span&

我的网页中有一些可以点击的元素。比如说,当你点击它们时,它们会改变背景颜色。每次你点击它们都会得到不同的颜色。它们最初是灰色的,然后是蓝色的,然后是黄色的,然后是橙色的,再回到灰色的,等等

现在的问题是,所有这些都是通过单击来实现的,但我希望我的双击可以充当两次单击,而不是触发双击事件(它会选择单词等)

让我们假设我们有下面的句子

<p>This is my <span id="elem_1" className="color_1"> element </span></p>
现在,我使用了在双击中详细介绍的ClearSelection函数

我想找到一种方法,在双击时触发2个单点事件,但我还没有从已经提出的问题中找到任何有助于这样做的方法


编辑:多亏@VLAZ的评论,我发现问题可能源于这个额外的东西:

当文本被选中时,我有一些额外的事情要做,所以我添加了一个

elem.onMouseUp(e){

   //Do some stuff here with the selection e.g.,
   var sel = window.getSelection()
   selectedText = sel.toString();
   var range = window.getSelection().getRangeAt(0);
   console.log(selectedText)
   console.dir(range)
}
现在,如果我将
e.preventDefault()
添加到
elem.onMouseUp(e)
,我会得到预期的行为,但这不是我的选择。

var totalNbOfClicks=0
var elem=document.getElementById(“元素1”)
elem.onclick=函数(){
总点击次数+=1;
console.log(“总计”,totalNbOfClicks);
totalNbOfClicks=totalNbOfClicks%4;
elem.className=“elem_uu”+totalNbOfClicks;
}
elem.ondblclick=函数(){

对于(var i=0;我认为它通常不会执行两次单击事件吗?它不会。它只执行一次简单的单击和一次双击@VLAZ。因此,我无法复制覆盖两次单击的双击行为。@VLAZ你是对的,我已经缩小了问题的来源。请检查我的编辑可能是对你所问问题的回答…刚刚使用了``ondblclick```事件(多么可爱的用户名:))感谢VLAZ的评论,我已经更新了我的问题。请看编辑。仍然投票,因为这是对最初问题的一个很好的答案:)
elem.onMouseUp(e){

   //Do some stuff here with the selection e.g.,
   var sel = window.getSelection()
   selectedText = sel.toString();
   var range = window.getSelection().getRangeAt(0);
   console.log(selectedText)
   console.dir(range)
}