+-
vue @blur和@click冲突
首页 专栏 javascript 文章详情
0

vue @blur和@click冲突

user_YG4HiUnu 发布于 3 月 2 日

关于@blur和@click或者@tap冲突问题

网上大部分是让失去焦点的方法的setTimeout延时执行达到点击效果,当然要求不高没问题。测试设置300ms以上才会有效,但是如果是一个弹出框延时300ms明显有点卡顿的感觉。所以有了下面的思路。

onUnFocus() {
  this.showView = false
  setTimeout(() => {
    this.inputIsShow = false
  }, 500)
},

结合下面体验效果杠杠的

<view v-if="inputIsShow"  :style="{ opacity: showView ? 1 : 0 }"></view>
javascript html vue.js
阅读 6 发布于 3 月 2 日
收藏
分享
本作品系原创, 采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议
avatar
user_YG4HiUnu
1 声望
0 粉丝
关注作者
0 条评论
得票 时间
提交评论
avatar
user_YG4HiUnu
1 声望
0 粉丝
关注作者
宣传栏
目录

关于@blur和@click或者@tap冲突问题

网上大部分是让失去焦点的方法的setTimeout延时执行达到点击效果,当然要求不高没问题。测试设置300ms以上才会有效,但是如果是一个弹出框延时300ms明显有点卡顿的感觉。所以有了下面的思路。

onUnFocus() {
  this.showView = false
  setTimeout(() => {
    this.inputIsShow = false
  }, 500)
},

结合下面体验效果杠杠的

<view v-if="inputIsShow"  :style="{ opacity: showView ? 1 : 0 }"></view>