【问题标题】:how to make a mouse double click on a single click in plain javascript?如何在纯javascript中单击鼠标双击?
【发布时间】:2021-12-08 16:26:54
【问题描述】:

您好,我正在编写一个没有 JQuery 的插件。

单击一次,item.id 未定义且链接无法打开。 但在第二次点击后,id 就被定义了。

因此,我正在寻找一种解决方法,以在单击此 href 链接时使鼠标双击单击。

div 没有自己的默认 id。

感谢您的帮助

【问题讨论】:

标签: javascript mouseevent mouselistener


【解决方案1】:

当您单击它们时,此代码会触发具有 anchorLink 类的每个 a 标记的双击

我已经在代码中用cmets逐行解释了它是如何工作的

// Creating an event for double click (dblclick)
var event = new MouseEvent('dblclick', {
  'view': window,
  'bubbles': true,
  'cancelable': true
});

// get every a tag with class anchorLink and loop through them
document.querySelectorAll("a.anchorLink").forEach(anchorLink => {
  // add click event to it
  anchorLink.addEventListener('click', function (e) {
    // trigger double click event we created at top
    anchorLink.dispatchEvent(event);
  });
  
  // This is just to show that it triggers double click by single clicking
  // You dont need from here
  anchorLink.addEventListener('dblclick', function (e) {
    console.log(e.target.innerText);
  });
  //to here
  //
});
<a class="anchorLink" href="#" title="db2un_Fri Oct 18 16_38_15 2019.log" data-dojo-attach-point="linkColumnAnchor">db2un_Fri Oct 18 16_38_15 2019.log</a>
<br>
<a class="anchorLink" href="#" title="db2un_Fri Oct 18 16_38_15 2020.log" data-dojo-attach-point="linkColumnAnchor">db2un_Fri Oct 18 16_38_15 2020.log</a>

【讨论】:

    猜你喜欢
    • 2018-06-07
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    • 2020-12-19
    • 2010-12-10
    • 2012-05-18
    • 2021-12-09
    • 1970-01-01
    相关资源
    最近更新 更多