uniapp input 如何只读禁用输入可点击

发布于:2025-07-29 ⋅ 阅读:(15) ⋅ 点赞:(0)

1. uniapp input 如何只读禁用输入可点击

在这里插入图片描述
  在 uni-app 中,可以通过设置 disabled 属性为 true 来禁用输入框的输入,同时使用 CSS 样式 pointer-events: none; 来确保输入框仍然可以点击,但不会触发任何事件。以下是具体的实现方法:

1.1. 方法一:使用 disabled 属性和 CSS 样式

  (1)设置 disabled 属性为 true:

<template>
  <view>
    <input type="text" :disabled="true" :value="inputValue" />
  </view>
</template>

  (2)添加 CSS 样式 pointer-events: none;:

<style scoped>
input[disabled] {
  pointer-events: none;
}
</style>

1.2. 方法二:使用 readonly 属性

  使用 readonly 属性,它可以使输入框不可编辑,但仍然可以接收焦点和点击事件。
  设置 readonly 属性:

<template>
  <view>
    <input type="text" :readonly="true" :value="inputValue" />
  </view>
</template>

1.3. 方法三:使用 disabled 和 @click 事件

  如果需要更复杂的交互,可以在 disabled 状态下通过 @click 事件来处理点击行为。
  设置 disabled 属性为 true 并添加 @click 事件:

<template>
  <view>
    <input type="text" :disabled="true" :value="inputValue" @click="handleClick" />
  </view>
</template>

<script>
export default {
  data() {
    return {
      inputValue: '这是一个只读输入框'
    };
  },
  methods: {
    handleClick() {
      console.log('输入框被点击了');
    }
  }
};
</script>

1.4. input禁止输入的几种方法

  (1)方式一:readonly规定输入字段为只读可复制,但是,用户可以使用Tab键切换到该字段,可选择,可以接收焦点,还可以选中或拷贝其文本。

<input type="text" value="zzs" readonly="readonly">

  (2)方式二:disabled 被禁用的 input 元素可复制,不能接收焦点,设置后文字的颜色会变成灰色。无法与 一起使用。

<input type="text" value="哈zzs" disabled="disabled">

  (3)方式三:r通过控制input的max length为0实现。

<input type="text"  maxlength="0">

  (4)方式四:οnfοcus="this.blur();“onfocuse是聚焦的意思,当你把光标放在文本框上输入的时候,就是聚焦,但这里添加了"this.blur()”,blur的作用就是去除聚焦,也就是你不能把光标放在这个文本框上,换句话说就是你不能输入文本了 。

<input type="text" value="哈哈哈" onfocus="this.blur();">

网站公告

今日签到

点亮在社区的每一天
去签到