给禁用的 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>
相关推荐
天天向上10242 天前
在 Vue3 项目中使用 el-tree
javascript·vue.js·elementui
天天向上10242 天前
vue2 vue3 修改elementUI和elementPlus主题颜色
前端·javascript·elementui
D_C_tyu5 天前
Vue3 + Element Plus 实现前端手动分页
javascript·vue.js·elementui
星光一影5 天前
供应链进销存源码uniapp全开源ERP多仓库管理系统pc+app手机端
mysql·elementui·uni-app·开源·php·phpstorm·1024程序员节
xu_duo_i5 天前
vue2+elementUI后端返回二进制流,前端下载实现
前端·javascript·elementui
我家媳妇儿萌哒哒6 天前
Vue2 elementUI年份区间选择组件
前端·javascript·elementui
asdfsdgss6 天前
Axure 组件不用手绘:ElementUI/Plus 元件库 + 大厂规范现成资源
elementui·axure·photoshop
Joker`s smile6 天前
vue + elementUI 实现特殊字符(上标、下标、特殊符号等)输入框
vue.js·elementui·特殊字符·unicode字符·上标·下标
theOtherSky7 天前
element+vue3 table上下左右键切换input和select
javascript·vue.js·elementui·1024程序员节
没逛够8 天前
Vue 自适应高度表格
javascript·vue.js·elementui