给禁用的 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>
相关推荐
小小弯_Shelby2 天前
el-table固定列显示错位问题处理
vue.js·elementui
小小弯_Shelby4 天前
el-form表单简洁有效地解决新增与查看详情共用一个页面问题,控制el-form的disabled设置和修改样式
前端·vue.js·elementui
Mr Xu_4 天前
前端实战:基于Element Plus的CustomTable表格组件封装与应用
前端·javascript·vue.js·elementui
harrain5 天前
vue3怎么扩展第三方依赖库内部逻辑(拿element plus举例)
前端·javascript·vue.js·elementui
Mr Xu_6 天前
深入分析Element UI Tree组件在本地与生产环境样式差异问题
css·ui·elementui
醉风塘6 天前
完美升级!将ElTree生硬文本提示替换为优雅的ElEmpty组件
javascript·vue.js·elementui
joan_8510 天前
input禁止自动填充
前端·elementui·vue
半兽先生12 天前
解决使用jsPDF实现表格数据导出pdf功能时中文乱码问题
前端·vue.js·elementui
大阳光男孩13 天前
ElementUI表格懒加载子级更新数据刷新不生效问题
前端·javascript·elementui
i_am_a_div_日积月累_13 天前
el-drawer注册全局点击事件无效;el-dialog注册全局点击事件无效
javascript·vue.js·elementui