elselect iphone上 要点两次

**element-ui的el-select组件在iOS设备上需要点击两次才能选中选项的问题,主要是由于iOS系统的触摸事件处理机制导致的。**‌

问题原因

在iOS设备上,触摸事件处理机制会首先触发一个touchstart事件来检测用户是否在点击链接或输入框,如果是,则会取消接下来的click事件。由于element-ui的el-select组件是基于click事件的,这会导致需要点击两次才能选中选项‌1。

解决方案

  1. ‌修改全局样式 ‌:

    在全局样式中添加CSS代码,设置.el-scrollbar__bar的opacity为1,确保滚动条始终可见,从而一次点击即可选中选项。具体代码如下:

    css 复制代码
    .el-scrollbar__bar {
        opacity: 1 !important;
    }
  2. 将这段样式放在index.html中,因为el-select下拉框是和id="app"平级的,放在app.vue里以及公共样式里可能不生效‌23。

  3. ‌监听touchstart事件 ‌:

    通过监听touchstart事件,在用户点击Select组件时记录下触发的位置和时间,然后在接下来的click事件中判断是否需要进行额外的处理来避免iOS的特性。具体实现方式可以参考以下代码示例:

    javascript 复制代码
    mounted() {
        this.$refs.select.addEventListener('touchstart', this.handleTouchStart);
    },
    methods: {
        handleTouchStart(e) {
            this.$refs.select.addEventListener('click', this.handleClick);
        },
        handleClick() {
            // 处理点击事件
        }
    }

    这种方法通过监听touchstart和click事件,可以有效地解决需要点击两次才能选中选项的问题‌。

相关推荐
茶底世界之下11 分钟前
时间线效果层,为什么不能只复用一个处理器?
ios·swift
ZZH_AI项目交付1 小时前
实时字幕负责快,本地录音负责不丢:一个 iOS 录音功能为什么需要两条链路
ios·ai编程
Cc.Y1 小时前
Swift深度链接的极简之道
ios·cocoa·swift
AI砖家3 小时前
iPhone Duo 上架新规:旧 App 怎么兼容,还能不能继续更新?
ios·cocoa·iphone·ios上架·ios上架新规
黑科技iOS上架3 小时前
小蟹iOS混淆:Objective-C项目实战
ios·审核·ios混淆·执行程序差异化
茶底世界之下3 小时前
照片边缘太抢眼?用 Awaking 做一次 1:1 裁切
ios
Digitally4 小时前
如何在iPhone上永久删除文件而无需恢复
ios·iphone
黑科技iOS上架4 小时前
iOS二进制混淆实战:工程级指纹防护彻底解决4.3同质化拒审
ios·审核·ios混淆·执行程序差异化
CocoaKier15 小时前
苹果商店详情顶部头图已面向所有开发者开放!
ios·apple
茶底世界之下15 小时前
同一张街拍,两种表达:用 Awaking 试一次高对比黑白
ios