首页 > 解决方案 > 单击 3 次后执行 Javascript 函数的 HTML 链接

问题描述

我想知道是否有一种方法可以仅在用户单击链接 3 次时才执行 javascript 函数。

这是HTML代码:

<a onclick="toggleFullScreen()">Toggle Fullscreen</a>

这是Javascript部分:

function toggleFullScreen() {
  if (!document.fullscreenElement &&    // alternative standard method
      !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement ) {  // current working methods
    if (document.documentElement.requestFullscreen) {
      document.documentElement.requestFullscreen();
    } else if (document.documentElement.msRequestFullscreen) {
      document.documentElement.msRequestFullscreen();
    } else if (document.documentElement.mozRequestFullScreen) {
      document.documentElement.mozRequestFullScreen();
    } else if (document.documentElement.webkitRequestFullscreen) {
      document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
    }
  } else {
    if (document.exitFullscreen) {
      document.exitFullscreen();
    } else if (document.msExitFullscreen) {
      document.msExitFullscreen();
    } else if (document.mozCancelFullScreen) {
      document.mozCancelFullScreen();
    } else if (document.webkitExitFullscreen) {
      document.webkitExitFullscreen();
    }
  }
}

标签: javascript

解决方案


您可以使用浏览器使用的event.detailMDN 文档)来存储在短时间内发生的连续点击次数。这是用户在任意位置三次单击时登录到控制台的最小示例:

window.addEventListener('click', function (evt) {
    if (evt.detail === 3) {
        console.log('triple click');
    }
});


推荐阅读