给禁用的 el-input 添加点击/双击事件

被禁用的 html 标签,无法响应事件

解决方案1:在父元素上添加事件

  • el-input 外添加 div
  • 在 div 上添加点击事件
    若对事件响应范围限制不严,可以在 el-form-item 上添加点击事件(点击表单标签时也会触发事件),必要时需加上事件修饰符 .native
  • el-input 添加样式 position: relative; z-index: -1,在原位置下降一层
    (若因其他样式影响,el-input 下降一层后无法显示,则可在 div 上添加 position: relative; z-index: 1 让父元素上升一层)
html 复制代码
<script setup lang="ts">
import { ref } from "vue";

let form = ref({ name: "" });

function handleClick() {
  alert("点击了");
}
</script>

<template>
  <el-form ref="form" :model="form" label-width="80px">
    <el-form-item label="活动名称">
      <div @click="handleClick">
        <el-input
          style="position: relative; z-index: -1"
          v-model="form.name"
          disabled
        ></el-input>
      </div>
    </el-form-item>
  </el-form>
</template>

解决方案2:改用 readonly

html 复制代码
<script setup lang="ts">
import { ref } from "vue";

let form = ref({ name: "巴黎奥运会" });

function handleClick() {
  alert("点击了");
}
</script>

<template>
  <el-form :model="form" label-width="80px">
    <el-form-item label="活动名称">
      <el-input v-model="form.name" readonly @click="handleClick"></el-input>
    </el-form-item>
  </el-form>
</template>
相关推荐
愛芳芳2 天前
基于 Electron + Vue3 的仿 PC 微信客户端项目实战
前端·javascript·css·elementui·typescript·electron·vue
妖孽白小白8 天前
el-select的内容续写实现
前端·vue.js·elementui
鱼与宇14 天前
Element-plus离线访问(适用内网)
elementui·vue3
weixin_4225554215 天前
el-menu子菜单点击就被激活,恢复之前的激活状态
javascript·vue.js·elementui
yume_sibai15 天前
Element Plus 导航与反馈组件完全指南(15个核心组件)
前端·elementui·交互
雪芽蓝域zzs21 天前
第十节:动态侧边栏菜单(根据路由 meta 自动渲染菜单)
javascript·vue.js·elementui
m0_5791466525 天前
Element UI 表格合并单元格完全指南:从原理到实战
前端·vue.js·elementui
常宇佳1 个月前
vue3 实战系列之踩过的一些坑
javascript·vue.js·elementui
aXin_ya1 个月前
ElementUI (01):Vue2 项目引入 ElementUI使用
elementui·vue
山川志~1 个月前
Vue + Element UI 实战:如何实现表格时间、金额字段排序
vue.js·ui·elementui