给禁用的 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>
相关推荐
牧码岛6 小时前
Web前端之Vue+Element实现表格动态不同列合并多行、localeCompare、forEach、table、push、sort、Map
前端·javascript·elementui·vue·web·web前端
DCTANT6 小时前
【原创】vue-element-admin-plus完成确认密码功能,并实时获取Form中表单字段中的值
前端·javascript·vue.js·elementui·typescript
程序员易晶11 小时前
vue2添加背景水印-手动实现(无组件模式)
javascript·vue.js·elementui
今天吃了嘛o1 天前
vue中根据html动态渲染内容2.0
vue.js·elementui·html
意桉1 天前
Element Plus 去掉表格外边框
前端·vue.js·elementui·element plus
超爱吃香菜的菜鸟2 天前
求教:vue中的find()函数的用法&this.$set
前端·javascript·vue.js·elementui
tryCbest2 天前
Vue2-实现elementUI的select全选功能
前端·javascript·elementui
小破孩呦3 天前
动态列表的数据渲染、新增、编辑等功能开发及数据处理
前端·javascript·elementui
小王码农记3 天前
el-select组件与el-tree组件结合实现下拉选择树型结构框
javascript·vue.js·elementui
伟笑4 天前
elementui table禁用全选,一次限制勾选一项。
前端·javascript·elementui