《ElementPlus 与 ElementUI 差异集合》el-select 显示下拉列表在 Cesium 场景中无法监听关闭

前言

仅在 Element UI 时有此问题,Element Plus 由于内部结构差异较大,不存在此问题。详见《el-select 差异点,如:高、宽、body插入等》

问题

  • 点击空白处,下拉列表可监听并关闭;
  • 但在 Cesium 中无法监听和关闭;

解决方案

  • 代码 2 行,初始化时监听 body 单击事件;
  • 代码 7 行,获取全局下拉列表;
  • 代码 11 - 14 行,仅当列表显示时,触发 click 事件;
javascript 复制代码
// 初始化时监听 body 单击事件
document.getElementsByTagName('body')[0].onclick = () => {
    // 获取 el-select
    const els = document.querySelectorAll('.el-select');
    els.forEach(el => {
        // 获取全局下拉列表
        const dropdownEls = el.querySelectorAll('.el-select-dropdown');
        for (let i = 0; i < dropdownEls.length; i++) {
            const dEl = dropdownEls[i];
            // 仅对打开的起作用
            if (dEl.style.display !== 'none') {
                el.click();
                break;
            }
        }
    })
};
相关推荐
gyx_这个杀手不太冷静8 分钟前
OpenCode 深度解析:架构设计、工具链集成与工程化实践
前端·架构·ai编程
m0_4592524627 分钟前
fastadmin动态渲染统计信息
开发语言·前端·javascript·php
该怎么办呢38 分钟前
Source/Core/Matrix4.js
前端·javascript
小江的记录本39 分钟前
【MyBatis-Plus】Spring Boot + MyBatis-Plus 进行各种数据库操作(附完整 CRUD 项目代码示例)
java·前端·数据库·spring boot·后端·sql·mybatis
console.log('npc')1 小时前
响应式布局的 Element UI、Ant Design 24栅格布局
vue.js·ui
于慨1 小时前
Capacitor
前端
IT凝冬2 小时前
liunx 的 centos7 安装ngin
前端
赵锦川2 小时前
大屏比例缩放
前端·javascript·html
于慨2 小时前
tauri
java·服务器·前端
riyue6662 小时前
封装 WebSocket 工具类
网络·vue.js·websocket·网络协议·v