方式1:此方法适用于PC端,一般移动端不支持双击事件

  1. <div onclick="handleRefresh()" ondblclick="handleShowVConsole()"></div>
  1. var timer = null;
  2. function handleRefresh() {
  3. timer = setTimeout(() => {
  4. // 单击事件要执行的代码
  5. console.log('单击');
  6. }, 300);
  7. }
  8. function handleShowVConsole(e) {
  9. clearTimeout(timer);
  10. // 双击事件要执行的代码
  11. console.log('双击');
  12. }

方式2:PC端、移动端兼可使用

双击事件使用单击事件模拟

  1. <div onclick="customClick()"></div>
  1. var clickTime = 1;
  2. var timer = null;
  3. function handleOnClick() {
  4. console.log("单击");
  5. }
  6. function handleDbClick() {
  7. console.log("双击");
  8. }
  9. function customClick() {
  10. clearTimeout(timer);
  11. if (clickTime === 1) {
  12. clickTime++
  13. timer = setTimeout(() => {
  14. clickTime = 1
  15. // 单击
  16. handleOnClick();
  17. }, 300)
  18. } else if (clickTime === 2) {
  19. clickTime = 1
  20. // 双击
  21. handleDbClick();
  22. }
  23. }