前言
这篇文章是一个非常实用的操作,大家有可能在做项目的时候会碰到这中需求,就是一个链接,然后单击它的话就是跳转,双击它的话就是复制,但是直接给事件的话会有一个冲突,就是你双击的时候肯定会出发单击的事件,然而这并不是我们想要的效果,我当时碰到这个问题的时候也研究了很长时间,我是在vue中运用的,但是代码的话都是很基本的js,也可以运用到别的框架中去。
上代码
<script>
var timers = null;//判断双击还是单击
export default{
data(){
return{
timer:null//判断双击还是单击
}
},
methods:{
//单机跳转事件
jump(row) { //row是要跳转或复制的链接
timers = this.timer;
if (timers) {
window.clearTimeout(timers);
this.timer = null;
}
this.timer = window.setTimeout(function () {
window.open(row);//跳转链接
}, 300);
},
//双击复制事件
handleCopy(row){
timers = this.timer
if(timers){
window.clearTimeout(timers);
this.timer = null;
}
this.copyData = row//复制内容
this.copy(row)//复制操作
}
}
}
</script>