【问题标题】:'dbclick' event listener not working but 'click' is'dbclick' 事件监听器不工作,但 'click' 是
【发布时间】:2019-11-24 06:48:08
【问题描述】:

目前,我正在制作一个密码存储网站。 UI 的一部分是当您双击密码项时,它会为您提供删除它的选项。

这是我的事件监听器(带有函数),myPasswordScreenID 是所有带有passwordItem 的类的父元素。

document.getElementById('myPasswordsScreenID').addEventListener('dbclick', function(event) {
  if (event.target.classList.contains('passwordItem')) {
    if (confirm('Would you like to delete this item? It will be gone forever!')) {
      event.target.style.display = 'none';
      event.target.style.margin = 0;
      localStorage.removeItem(event.target.id);
    }
  }
}, false);

出于某种原因,如果我使用事件侦听器“click”而不是“dbclick”,它会起作用吗?我不知道为什么。任何帮助将不胜感激。

【问题讨论】:

    标签: javascript dom parameters addeventlistener


    【解决方案1】:

    您可以使用dblclick 检测双击。

    【讨论】:

    • 哇,好吧,我以为几乎所有浏览器都支持 dbclick。感谢您的帮助!
    【解决方案2】:

    除了@AndreaOggioni的回答,使用MDN的代码:

    const element = document.getElementById('myPasswordsScreenID');
    
    element.addEventListener('dblclick', function(event) {
      if (
        event.target.classList.contains('passwordItem') &&
        confirm('Would you like to delete this item? It will be gone forever!')
      ) {
        event.target.style.display = 'none';
        event.target.style.margin = 0;
        localStorage.removeItem(event.target.id);
      }
    });
    

    祝你好运。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-24
      • 2013-07-01
      相关资源
      最近更新 更多