用css实现防止按钮重复点击


原理

  • 利用pointer-events属性设置元素是否对鼠标事件做出反应

实现代码

  • 可以延申加入自定义动画
<button class="save-button" onclick="console.log('保存')">保存</button>
.save-button {
  animation: buttonThrottle 2s step-end forwards;
}
.save-button:active {
  animation: none;
}
@keyframes buttonThrottle {
  from {
    pointer-events: none;
  }
  to {
    pointer-events: all;
  }
}

演示

  • 打开开发者模式,查看Console会发现每隔两秒钟之后才能触发Console打印


  目录