当按下按钮时如何模拟按下不同的按钮?

2023-12-12

是否可以使用 vue.js 模拟按下按钮时按下另一个按钮?

For example, if I press the (Arrow down) button, I would like it to be represented as if I had pressed the TAB button.

解释一下我为什么要尝试实现这个:

After clicking on a DropDown list, the list with all the elements opens up. In this list I have an <input> element as a search box, which is used to search other elements in the list (all the other elements are directly listed under that search box). Currently as the DropDown list opens the focus is set automatically to the search box. To go down to the next item, you have to press the TAB button. But I need to achieve this with the (Arrow down) button.


I think you're asking how to simulate a TAB keypress when the user presses DOWN with the goal of moving the focus to the next focusable input.

而不是重写key-事件,你可以打电话HTMLElement#focus()关于下一个兄弟:

<!-- TEMPLATE -->
<input type="text"
    @keydown.up.stop.prevent="prevInput"
    @keydown.down.stop.prevent="nextInput"
    v-for="i in 5">

// SCRIPT
methods: {
  nextInput(e) {
    const next = e.currentTarget.nextElementSibling;
    if (next) {
      next.focus();
    }
  },
  prevInput(e) {
    const prev = e.currentTarget.previousElementSibling;
    if (prev) {
      prev.focus();
    }
  },
}
<script src="https://unpkg.com/[email protected]"></script>

<div id="app">
  <input type="text"
         @keydown.up.stop.prevent="prevInput"
         @keydown.down.stop.prevent="nextInput"
         v-for="i in 5">
</div>

<script>
new Vue({
  el: '#app',
  methods: {
    nextInput(e) {
      const next = e.currentTarget.nextElementSibling;
      if (next) {
        next.focus();
      }
    },
    prevInput(e) {
      const prev = e.currentTarget.previousElementSibling;
      if (prev) {
        prev.focus();
      }
    },
  }
})
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当按下按钮时如何模拟按下不同的按钮? 的相关文章

  • Angular UI 模式的范围问题

    我无法理解 使用角度 UI 模式的范围 虽然这里不是很明显 但我已经正确设置了模块和所有内容 据我所知 但这些代码示例尤其是我发现错误的地方 index html 其中重要部分 div class btn group div
  • 从函数返回函数的目的是什么?

    阅读一些遗留代码 发现 A prototype setSize function var v1 new Vector2 return function size var halfSize v1 copy size multiplyScala
  • Vue 3 Composition API 提供/注入在单文件组件中不起作用

    我正在使用 Composition API 在 VueJS 3 中创建一个库 我实现了提供 注入 如中所述docs https v3 vuejs org guide composition api provide inject html i
  • 如何正确清理来自 AngularJS 控制器的无效输入的表单?

    我有一个 AngularJS 表单 其中包含 除其他字段之外 类型之一url 后者很重要 因为这会强制相应的输入成为有效的 URL 在某些条件下 例如 要关闭具有此类表单的模式对话框 我想以编程方式清除该表单 为此 我实现了方法reset基
  • Angular.js:如何从无序列表中获取 orderBy 或过滤器来工作?

    尝试根据价格和评级 在返回的对象中 进行排序 我宁愿用 ng click 和 li 来代替使用选择菜单 有没有办法做到这一点 我环顾四周 这是我能想到的最接近的 ul class restaurant filter li i class i
  • 在版本 4.4.6 中禁用 ckeditor 上下文菜单

    我在 Rails4 项目中使用 ckeditor 我尝试了 ckeditor gem 和 ckeditor rails gem 来提供 ckeditor 库 这里有多个帖子 人们希望删除 ckeditor 上下文菜单 以便可以显示本机浏览器
  • IntersectionObserver是否支持水平滚动观察?

    我制作了几个垂直滚动 IntersectionObserver 模块 但我对水平滚动感兴趣 根将是 div 观察目标将是 img 我想观察当 img 放大但 div 保持视口宽度时的变化 我什至不确定移动 Safari 是否会将缩放后的图片
  • 为什么 setTimeout 在 Chrome 中触发两次,而在 IE 或 Firefox 中则不然?

    有人能告诉我为什么 javascript 函数 生成新号码 在 Chrome 中触发两次 但在 IE 或 Firefox 中则不会 使用 Chrome 20 0 1132 57 IE9 和 Firefox 13
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • React autoFocus 将光标设置为输入值的开头

    我有一个受控输入 最初显示一个值 我已将该输入设置为自动聚焦 但当我希望它出现在末尾时 光标出现在输入的开头 我知道这可能是因为自动对焦是在值之前添加的 但我不能 100 确定 在输入字段末尾完成光标初始化的最佳方法是什么 var Test
  • JavaScript推送函数中的动态变量

    我在 JavaScript 中使用推送功能 var chartData for var i 0 i lt 3 i chartData push date new Date year s mon s date s hr s min s sec
  • 如何在另一个自定义 Hook 中使用返回值的自定义 Hook?

    我正在使用 React native 其中有一个名为的自定义 HookuseUser使用以下方法从 AWS Amplify 获取用户信息Auth getUserInfro方法 然后获取返回对象的一部分并用它设置一个状态变量 我还有另一个名为
  • mongodb 聚合 - 累积字段的不同组值

    如果我有Player表格文件 name String score Int 我有Group文档 其中组代表玩家列表 groupName String players ObjectID 玩家可以属于多个组 我想做一个聚合Player文档 按以下
  • 使用 JavaScript 移动页面上的按钮

    我的按钮可以移动 但奇怪的是 我无法弄清楚偏移是否有问题 我希望我的按钮随着鼠标光标移动 但现在它的移动方式不是我想要的 有时它会消失 另外 创建的新按钮是重叠的 我不知道如何解决这个问题并拥有更好的外观 var coorA var coo
  • 改变 JavaScript 中的顶部填充

    以下是我在 css 中设置顶部填充的方法 body font size font size px margin 0 padding 100px 0 20px 0 width 100 important 如何使用最简单的 javascript
  • LeafleteachLayer函数不会迭代所有Layer

    使用 GeoJSON 数据数组创建一些标记 getJSON GetLocationsServlet function data L geoJSON data onEachFeature onEachFeature addTo mymap G
  • 使用 Jade 评估自定义 javascript 方法 (CircularJSON)

    我想通过 Jade 将一个对象解析为客户端 JavaScript 通常这会起作用 script var object JSON parse JSON stringify object but my object is circular ht
  • Highcharts jQuery 渲染问题 - 所有浏览器

    我在尝试使用构建堆积柱形图时遇到了一个奇怪的问题高图表 http www highcharts com 当图表呈现时 在您调整浏览器大小之前 不会显示列无论如何 导致图表重绘 我认为 图表的其余部分显示 轴 标题等 但不显示列本身 我在 I
  • react-native - 图像需要来自 JSON 的本地路径

    你好社区 我正在react native中开发一个测试应用程序 并尝试从本地存储位置获取图像 我实际在做什么 我将图像直接链接源提供给 var 并在渲染函数中调用此方法 react 0 14 8 react native 0 23 1 np
  • 使用velocity.js制作可拖动元素的动画

    我正在使用velocity js 为用户拖动的可拖动 SVG 元素设置动画 然而 velocity js 将先前的 mousemove 坐标排队并通过所有后续的 mousemove 坐标进行动画处理 我想要的是velocity js 不要对

随机推荐

  • 无法访问 TensorFlow Adam 优化器命名空间

    我正在尝试了解 GAN 并且正在努力解决这里的例子 下面使用 Adam 优化器的代码给了我错误 ValueError 变量 d w1 Adam 不存在 或者不是使用 tf get variable 创建的 您是否打算在 VarScope 中
  • 在 C 上定义 LDBL_MAX/MIN

    我正在使用 C 语言 我必须做一个练习 其中我必须打印以下值long double min and long double max I used float h作为标题 但是这两个宏 LDBL MIN MAX 给我相同的值 就好像它只是一个
  • jquery .get/.post 在 ie 7 或 8 上不起作用,在 ff 中工作正常

    我基本上在一个页面上有这个
  • 如何在浏览器中查看xsl输出?

    每个人 我正在构建一个基于一些 xml 数据文件的网站 因此我选择使用 XSLT 来绑定浏览器中的样式表 一开始它工作得很好 但最近 随着模板变得越来越复杂 一些奇怪的事情发生了 我使用 copy of 元素将数据复制到样式表中 这是代码
  • 洗牌和拆分后是否应该分别标准化训练和测试测试?

    我想在 0 1 范围内标准化我的数据 洗牌和分割后是否应该对数据进行归一化 是否应该重复相同的过程进行测试 我遇到了一个使用这种标准化类型的Python代码 这是用目标范围 0 1 标准化数据的正确方法吗 X train np array
  • 将两个列表附加在一起的 Prolog 算法的说明

    这是一种将两个列表附加在一起的算法 Domains list integer Predicates nondeterm append list list list Clauses append List List append H L1 L
  • PostgreSQL SQL 查询用于遍历整个无向图并返回找到的所有边

    我有一个edges我的 PostgreSQL 数据库中的表代表了一个directed图表 有两列 节点来源 and node to 值是节点的 id 给定单个节点 初始节点 我希望能够遍历整个图表 但是在一个无向的 way 我的意思是 例如
  • 是否可以交换两个变量的地址?

    我知道可以像这样交换两个变量的值 include
  • 复合主键中可为空的列有什么问题?

    ORACLE 不允许在构成主键的任何列中出现 NULL 值 大多数其他 企业级 系统似乎也是如此 同时 大多数系统还允许unique对可为空的列的约束 为什么唯一约束可以有 NULL 而主键却不能 这是否有根本的逻辑原因 或者这更多的是技术
  • 使用 Jackson 将 xml 转换为 json

    我想将 xml 转换为 json xml的格式如下
  • Web api 调用中的空引用

    这很奇怪 我不明白这里发生了什么 我有一个 Web api 项目 在一个控制器中对某种方法的调用最终会调用服务中的一个函数 如下所示 public MyClassBase GetThing Guid id if cache Contains
  • 带有装饰函数参数的 python 装饰器

    当我用以下内容包装函数时 如何使包装函数看起来和感觉与包装函数完全相同 help function 尤其 一些代码 gt gt gt def wraps f def call args kw print in f args kw examp
  • Silverlight 中的多个异步 UI 更新

    如何从 Silverlight 回调执行多个 UI 更新 例如 我希望用户单击一个按钮 让 UI 进行更改 做一些工作 然后进行另一个更改 相反 用户单击按钮 回调似乎在后台执行 然后所有用户界面的变化在我眼前闪现 主页 xaml
  • 使用“matplotlib.mlab.griddata”时程序挂起

    我编写了一个脚本 Python 2 6 来以 x y z csv 格式 网格数据 并显示数据的等高线图 该脚本适用于某些数据集 但不适用于其他数据集 即使这两个数据集是使用相同的脚本创建的 要绘制的数据集是通过对主数据集进行二次采样而创建的
  • 如何获取天数和日期之间的差异

    function duration day date date1 date date2 date create Y m d date1 date create Y m d strtotime date echo date1 echo dat
  • Swift 中“self”的用途是什么?

    我是 Swift 新手 我想知道什么self用于以及为什么 我在类和结构中看到过它 但我真的不认为它们是必要的 甚至没有必要在我的代码中提及它们 它们的用途是什么 为什么 什么情况下需要使用它 我已经阅读了很多关于这个问题的问题和答案 但没
  • 如何在文件下载时提示“另存为”对话框

    我试图在下载文件时提示 另存为 对话框 但我得到的是 或者文件正在浏览器上打开 或者下载文件时没有提示保存位置和保存名称 我的控制器的代码 public FileContentResult Save string text string c
  • 如何从同一个板条箱中的不同模块导入/使用宏?

    现实生活场景 我想用crate app verbose trace string literal inside crate app args parse module 可重现的场景 经过一个小时的尝试 我得到了以下简单的例子 它暴露了我对宏
  • 准备用于打印单色位图图像的 ZPL 命令

    我在准备 ZPL 命令以在 Zebra RZ400 300 dpi 上打印位图图像时遇到问题 我有以下代码片段 但我不明白我到底在哪里犯了错误 var bitmapImagePath C Sample bmp Gets the size o
  • 当按下按钮时如何模拟按下不同的按钮?

    是否可以使用 vue js 模拟按下按钮时按下另一个按钮 For example if I press the Arrow down button I would like it to be represented as if I had