一、使用场景
给一条数据添加了点击事件 但是你还想复制文字 可是复制的时候会触发点击事件 最简单的方法就是一下方法
二、使用步骤
代码如下(示例): 以下是我在Vue中使用的
// 点击事件
click(){
// 判断是不是在复制文字 如果是就不执行点击事件 直接 return
if (!!this.getSelected()) {
console.log("有选择的文字不触发点击事件,用户可能需要复制");
return;
}
// 判断是不是在复制文字 结束
console.log("点击事件执行了");
}
getSelected() {
if (window.getSelection) {
//ie9以上及其他
return window.getSelection().toString()
} else {
//ie9以下
const selection = document.selection?.createRange() // 这里需要注意 有时候这个?会报错 报错的时候去掉就好了
if (selection.text) {
return selection.text.toString()
}
return ''
}
},