首页 > 其他分享 >vue 防连点

vue 防连点

时间:2023-08-02 11:33:23浏览次数:37  
标签:el 防连点 vue pointerEvents binding style disabled click

directives: {
    preventReClick: {
      inserted: function (el, binding) {
        el.addEventListener('click', (e) => {
          if (!el.disabled) {
            el.style.pointerEvents = 'none'
            setTimeout(() => {
              el.style.pointerEvents = 'auto'
            }, binding.value || 2000)
          } else {
            // disabled为true时,阻止默认的@click事件
            e.preventDefault()
            e.stopPropagation()
          }
        }, true)
      }
    }
  },

<div @click="handelClick" v-preventReClick> 防止点</div>
<van-button @click="handelClick" v-preventReClick> 方脸点</van-button>

标签:el,防连点,vue,pointerEvents,binding,style,disabled,click
From: https://www.cnblogs.com/rzl795/p/17600145.html

相关文章

  • vite 项目webstorm跳转失效 VSCode、vue 无法对 @ 路径 跳转 ,几乎适用于所有webpack、
    在根目录加一个jsconfig.json文件{"compilerOptions":{"baseUrl":".","paths":{"@/*":["src/*"]},"target":"ES6","allowSyntheticDefaultImports&q......
  • vue 通过css 给html元素增加前缀红色星号
    <el-form-item>前面增加红色星号要为<el-form-item>的label增加红色星号,你可以使用CSS中的伪元素::after或::before来实现。下面是如何在样式中添加红色星号的示例:<el-form-itemclass="red-label"label="物流商信息"></el-form-item><stylescopedlang="scss"......
  • 通过Vue + intro.js 实现页面新手引导流程功能
    最近需要增加一个新手页面引导流程的功能,在网上搜罗之后发现了intro.js这个插件1.安装依赖npminstallintro.js--save2.在main.js中引用插件//首页引导插件importintrofrom'intro.js'//introjs库import'intro.js/introjs.css'//introjs默认css样式//introjs还......
  • vue--day50--todolist案例自定义事件修改footer 和header 修改
    1.MyHeader.vue<template><divclass="todo-header"><!--v-model:="title"是实时绑定的--><inputtype="text"placeholder="请输入你的任务名称,回车键确认"v-model="title"@keyup.enter="add"/>......
  • vuex模块化
    importVuefrom'vue';importVuexfrom'vuex';Vue.use(Vuex);importhomefrom"./home"importsearchfrom"./search"conststore=newVuex.Store({modules:{home,search}});exportdefaultstore......
  • ruby web 实战(9)-vue 3基础(3)
    目录选项式API(OptionsAPI)选项式API(OptionsAPI)用包含多个选项的对象来描述组件的逻辑,例如data、methods和mounted。选项所定义的属性都会暴露在函数内部的this上,它会指向当前的组件实例。<script>exportdefault{//data()返回的属性将会成为响应式的状态......
  • Vue进阶用法4
    Vue进阶用法4vue3介绍1.性能的提升打包大小减少41%初次渲染快55%,更新渲染快133%内存减少54%2.源码的升级使用Proxy代替defineProperty实现响应式重写虚拟DOM的实现和Tree-Shaking3.拥抱TypeScriptVue3可以更好的支持TypeScript4.新的特性......
  • Vue入门命令2
    Vue入门命令2表单控制#input:checkbox(单选,多选),radio(单选)<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc="./js/vue.js"></script......
  • Vue进阶用法1
    Vue进阶用法1计算属性#如果{{函数()}},每次页面刷新,函数都会重新执行#函数---》当属性来使用,缓存<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc="./js/vue.js"......
  • Vue进阶用法2
    Vue进阶用法2vue项目目录介绍myfirstvue#项目名字node_modules#文件夹,内部有很多当前项目依赖的模块,可以删除,npminstallpublic#文件夹-favicon.ico#网站小图标-index.html......