京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

vue实现button按钮的重复点击指令方式

2024-11-2 22:43| 发布者: ae2942d9| 查看: 74| 评论: 0

摘要: 目次vue实现button按钮的重复点击指令vue提交表单重复点击,重复提交防抖标题办理方案总结vue实现button按钮的重复点击指令 [code]// 注册一个全局自界说指令 `v-debounce` Vue.directive('debounce', { // 当被绑
目次

vue实现button按钮的重复点击指令

[code]// 注册一个全局自界说指令 `v-debounce` Vue.directive('debounce', { // 当被绑定的元素插入到 DOM 中时... inserted: function (el, binding) { let timer; el.addEventListener('click', () => { clearTimeout(timer); timer = setTimeout(() => { binding.value(); // 调用传给指令的方法 }, 500); }); }, // 当绑定元素的父组件更新时... update: function (el, binding) { let timer; el.addEventListener('click', () => { clearTimeout(timer); timer = setTimeout(() => { binding.value(); // 调用传给指令的方法 }, 500); }); } }); // 使用指令 // 在组件中 <template> <button v-debounce="myClickHandler">Click me</button> </template> <script> export default { methods: { myClickHandler() { // 处置惩罚点击变乱 } } } </script> [/code]

vue提交表单重复点击,重复提交防抖标题

标题:用户点击生存时,大概会多次点击。导致天生重复数据。

目标:多次点击时,1s内只答应提交一次数据。

办理方案

1.在utils文件夹创建文件preventReClick.js

[code]export default { install (Vue) { // 防止按钮重复点击 Vue.directive('preventReClick', { inserted (el, binding) { // console.log("binding-7", binding) el.addEventListener('click', () => { if (!el.disabled) { el.disabled = true setTimeout(() => { el.disabled = false }, binding.value || 2000) } }) } }) } }[/code]

2.在main.js中引入

3、在.vue 文件中使用

总结

以上为个人履历,希望能给大家一个参考,也希望大家多多支持脚本之家。


来源:https://www.jb51.net/javascript/326669y4n.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-7-2 09:12 , Processed in 0.029027 second(s), 18 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

返回顶部