el-input @focus设置光标位置

2023-11-08

关于el-input获取焦点失去焦点时光标位置可以使用@focus方法;

 随便写个el-input,设置ref、focus、blur属性和方法。

        <el-input
          ref="inputRef"
          v-model="testFocus"
          placeholder="请输入..."
          @focus="getCursor"
          @blur="inputBlur"
        >
          <template slot="prepend">前缀文字</template>
          <template slot="append">后缀文字</template>
        </el-input>

 获取焦点时设置光标范围(2, 4)

setSelectionRange()

HTMLInputElement.setSelectionRange 方法用于设定<input> 或 <textarea> 元素中当前选中文本的起始和结束位置。

属性 含义
selectionStart 起始位置
selectionEnd 结束位置
selectionDirection forward、backward、none,三种选择方向,默认为forward从前向后
methods: {
    inputBlur() {
    // 失去焦点是输出光标所在位置
      const textCursorStart = this.$refs.inputRef.$el.children[0].selectionStart;
      const textCursorEnd = this.$refs.inputRef.$el.children[0].selectionEnd;
      console.log(textCursorStart, textCursorEnd)
    },
    getCursor(event) {
      console.log(event)
      // 把光标移动input默认值的最后
      // event.target.setSelectionRange(this.position.length, this.position.length)
      // 设置光标范围(起始位置,结束位置,)
      event.target.setSelectionRange(2, 4)
    }
}

setSelectionRange设置的光标范围是(2, 4)是生效的,但鼠标如果点击了input其他位置会覆盖这个设置,例如点击最后的位置,会使(2, 4)变成了(2, 9)


当我从下一个input,按键盘shift+tab反选这个input的时候,就发现选中(2, 4)了

所以这种方法仅在鼠标不点击input的时候好用,如果大佬能解决这个问题,记得回复我一下,感谢! 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

el-input @focus设置光标位置 的相关文章

  • 您可以使用 JavaScript 触发自定义 HTML5 表单错误吗?

    如果我有一个像这样的输入
  • AngularJS 使用 $apply 而不使用 $scope

    我开始使用 AngularJS 并且接受了用它来编写控制器的约定 而不是用 scope 所以我的控制器看起来像这样 myApp controller SomeController function this myModel id 1 nam
  • 通知用户消息仍在输入中

    我正在使用 Laravel 5 6 7 Socket IO 和 vue js 我没有使用 Pusher 和 redis 下面是我的代码 用于向与我一对一聊天的用户发送消息 var url http localhost 6001 apps M
  • 来自 DataURL 的 Blob?

    Using FileReader s readAsDataURL 我可以将任意数据转换为数据 URL 有没有办法将数据 URL 转换回Blob使用内置浏览器 API 的实例 用户 Matt 一年前提出了以下代码 如何在javascript中
  • 零作为 IIFE 中的第一个参数[重复]

    这个问题在这里已经有答案了 In babeljs v6 5 1 class Foo 编译为 use strict var classCallCheck2 require babel runtime helpers classCallChec
  • 在 asp.net vb 中通过第一个下拉列表值填充第二个下拉列表

    我在使用 asp net vb 时遇到了一些问题 我想做的是有2个下拉框 第一个下拉菜单将有 1 2 3 例如 第二个下拉菜单将有 A 乙 C 默认情况下 但是 如果选择 1 我希望第二个下拉菜单自动选择 c 我不知道 JavaScript
  • JavaScript 变量赋值与 OR 对比 if 检查[重复]

    这个问题在这里已经有答案了 在 JavaScript 中 我最近意识到你可以使用 OR 赋值的逻辑运算符 我想知道这是否被认为是不好的做法 特别是 我有一些具有可选数组输入的函数 如果输入是null or undefined我应该将它设置为
  • Chrome SuppressDifferentOriginSubframeJSDialogs 使用 JS 设置覆盖?

    Chrome 开发团队显然刚刚推出了一项名为 SuppressDifferentOriginSubframeJSDialogs 的新 功能 这使得默认情况下不会显示来自与父级不同域上的 iFrame 的警报 确认框 https www ch
  • 在 Angular2 项目中集成 Treant-js

    我正在尝试在 Angular2 项目中使用 treant js 但我正在努力解决如何正确集成它的问题 我有一个工作正常的 JavaScript HTML 示例 我正在尝试在 Angular2 中工作 我创建了一个组件 从 npm 添加了 t
  • JQuery DataTable 单元格从行单击

    我正在尝试在 jquery 数据表上实现一个函数 该函数返回单击行的第一列和第四列 我正在遵循这个示例 它允许我操作单击的行http datatables net examples api select single row html ht
  • ReactJS:从没有 onChange 事件的 props 中选择默认值?

    所以 我只是想知道我是否绝对需要在 React 中的选择组件上有一个 onChange 事件处理程序 我有一个道具传递我想要选择的选项的默认值 如果我有的话 它就没有问题
  • 对象数组 - 在 Vue.js 生态系统中更新对象的正确方法

    我不确定问题到底出在哪里 但我会看看是否有人可以帮助我理解我的代码出了什么问题 我正在利用 Vuex 商店来跟踪某些不断变化的状态 我这样做如下 import Vue from vue import Vuex from vuex Vue u
  • 将 JavaScript 引擎嵌入到 .NET 中 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 只是想知道是否有人尝试过将任何 js 引擎嵌入并实际集成到 net 环境中 我可以找到并实际使用 经过L
  • Meteor.js 登录事件

    因此 我对 Meteor 框架和 JavaScript 总体来说还很陌生 但我正在使用该框架开发一个小项目 以尝试让自己达到标准 基本上我正在开发一个微博客网站 目前 用户可以通过多种服务登录 fb google 等 我通过插入所需 url
  • RTCDataChannel发送方法不发送数据

    我的 RTCDataChannel 遇到一个奇怪的问题 我正在对 WebRTC 进行一些研究 并且已经可以进行 WebRTC 音频 视频聊天 现在我想使用 RTCDataChannel 添加文本聊天和文件共享 我已经像这样创建了 RTCDa
  • 在声明组件选择器时添加指令 - Angular 7

    我正在学习 Angular 并通过单击按钮动态创建组件 我正在尝试使用 Angular Material 的拖放功能来拖动这些创建的组件以对它们进行排序 我的基本组件 html 中有以下代码 div style margin 20px di
  • 使用 React React-router 登录后重定向到主页,并且 usenavigate 不起作用?

    我希望用户在成功登录后重定向到主页 我将用户登录的 api 请求的数据存储在一个名为 currentUser 的变量中 因此如果 currentUser 为 true 它应该重定向到主页 这就是我处理登录请求的方式 export const
  • 在 Google Apps 脚本中的文本前插入换行符

    我需要在 Google 文档中的某些文本之前插入一些换行符 尝试过这种方法但出现错误 var body DocumentApp getActiveDocument getBody var pattern WORD 1 var found b
  • 如何根据所需表单输入的值更改 CSS 样式

    我想知道如何编写 javascript 来改变所需的表单元素的样式 如果它们有价值的话就改变它们 我想要做的是当所需的文本字段为空时 在它们周围有一个彩色边框 并在它们有值时删除边框样式 我想做的是编写一个 javascript 函数来检查
  • 获取淘汰赛中被点击元素的索引

    获取无序列表中单击元素的索引的最佳方法是什么 让我举个例子 假设我有以下 HTML 代码 ul li p p li ul 现在我有以下 javascript 代码来获取索引 self itemClicked function data it

随机推荐

  • 【Spark NLP】第 2 章:自然语言基础

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • pycharm下载安装

    接下来安装pycharm 1 首先从网站下载pycharm 点击打开链接 链接为 http www jetbrains com pycharm download section windows 进入之后如下图 根据自己电脑的操作系统进行选择
  • Linux的介绍

    简介 主要介绍Linux的概念 Linux是一款操作系统 类似与Windows 开源 免费 安全 高校 稳定 非常擅长处理高并发 现在大多数企业级项目都是部署在Linux系统的服务器中运行 Linux的创始人是Linus 吉祥物是一只叫Tu
  • 深入理解Mysql索引底层数据结构与算法

    索引是帮助MySQL高效获取数据的排好序的数据结构 索引数据结构对比 二叉树 左边子节点的数据小于父节点数据 右边子节点的数据大于父节点数据 如果col2是索引 查找索引为89的行元素 那么只需要查找两次 就可以获取到行元素所在的磁盘指针地
  • [labtools 27-2269]no devices detected on target localhost问题解决

    小白刚学FPGA 以流水灯为例入门 在连接板子的时候遇到了这个问题 记录一下 板子型号 xc7z045ffg900 2 解决办法之一 按照table 1 11更改图1 3里34位置处拨码
  • Linux系统中 systemd-journaldCPU占用异常的解决方法

    一 待解决问题 先贴几张图 问题解决之前最头疼的问题 因打印日志的高占用 以致CPU占用高达96 已经无法满足日常使用 从图中可见systemd journald占用了1 4的CPU资源 注 我是用的是Deepin系统 二 解决办法 因为要
  • SpringBoot2.x 集成Hadoop3.0.3 实现HDFS文件系统管理

    任务要求 搭建SpringBoot 2 x 集成Hadoop3 0 3环境 实现Hadoop 重要组成部分HDFS 文件系统管理的封装 核心pom xml 文件
  • vSphere之vCLS

    vCLS vSphere Cluster Services 是在vSphere7 0U1引入的集群服务 它使用代理虚拟机维护集群服务的运行状况 当主机添加到集群时 将创建 vCLS 代理虚拟机 vCLS vm 每个 vSphere 集群中最
  • Dell工作站8T硬盘安装ubuntu 16.04

    Dell工作站8T硬盘安装ubuntu 16 04 MBR文件系统仅支撑2T磁盘 因此在2T以上磁盘上安装ubuntu时 如果想利用全部磁盘空间 需要采用GPT分区 文件系统 模型 这需要重新分区 制作Ubuntu 16 04启动U盘 一
  • js-语言基础进阶-变换按钮的实现

    作者 芝士小熊饼干 系列专栏 数据结构 蓝桥杯 算法 坚持天数 16天
  • 从零搭建Maven私有仓库

    前言 主要使用到的技术 linux docker sonatype nexus maven 1 nexus3介绍 世界上第一个也是唯一一个免费使用的通用工件存储库 2 使用docker安装nexus3 1 下载 使用命令 docker pu
  • 20201105枚举课后总结

    文章目录 枚举 210733 奶牛碑文 http wikioi cn problem 210733 题目描述 输入格式 输出格式 样例输入 样例输出 思路 1 2 代码 210792 分解质因数 http wikioi cn problem
  • java会话技术--03--Session覆盖问题

    java会话技术 03 Session覆盖问题 代码位置 https gitee com DanShenGuiZu learnDemo tree master sessionCookie learn 1 现象 同一域名 同一个服务 不同的端
  • 如何在 vue 项目中引入高德地图

    文章目录 前言 一 申请 地图api开发者key 二 在vue项目安装高德地图的包 三 使用 1 在自己的组件中引入高德地图类 2 编写初始化函数 3 添加插件 前言 相信在 web 开发中有不少项目都用到过地图 那么我们怎么在自己的项目中
  • 程序删除自己

    void DeleteApplicationSelf std string strFileName this char szCommandLine MAX PATH 10 设置本进程为实时执行 快速退出 SetPriorityClass G
  • RabbitMQ消息队列实战(1)—— RabbitMQ的体系

    RabbitMQ是一个开源的消息代理和队列服务器 用来在不同的应用之间共享数据 1983年 被认为是RabbitMQ的雏形的Teknekron创建 首次提出了消息总线的概念 中间经历过数个阶段的发展 一直到2004年 AMQP Advanc
  • Makefile中的$@ $^等常见的符号解析

    之前学过一些Makefile 但是长时间不看 里面的符号又不少 慢慢就忘记了 这次在看Makefile文件 就顺带整理一些常用的符号 以后查询起来也方便 表示目标 表示所有的依赖 lt 表示第一个依赖 即时赋值 延时赋值 附加 例如 CC
  • bluestore中lru和2q缓存和onode_map的联系

    collection对应于某个pg 里面有OnodeSpace结构的onode map变量 OnodeSpace结构的变量内又有Cache结构的cache指针变量和unordered map的onode map变量 这个onode map变
  • 数据结构——>稀疏数组

    一 稀疏数组 1 定义 稀疏数组也叫稀疏矩阵 是普通数组的压缩 在这里我们可以说普通数组的无效数据量远远大于有效数据量 有效数据 在下方的例子中 非0数字就是有效数据 普通数组 其稀疏数组表现形式为 如果第一个例子没看懂 那我们再来举个例子
  • el-input @focus设置光标位置

    关于el input获取焦点失去焦点时光标位置可以使用 focus方法 随便写个el input 设置ref focus blur属性和方法