【问题标题】:Handle press of arrow in input element knockout输入元素敲除中的手柄按下箭头
【发布时间】:2017-06-13 23:21:10
【问题描述】:

我正在使用knockout,并且我有一个普通的 HTML 输入元素。 我想为这个输入处理up arrowdown arrowleft arrowright arrow 的压力使用敲除方式,而不是任何其他解决方法

这是我尝试过的

<input type="text" data-bind="textInput: $data, event: {keypress: $parent.HandleMove}" />

但是 HandleMove 函数是用所有键触发的由其他东西处理的事件(在输入本身内部进行字符导航,例如向左移动字符、向右移动字符和 ....)

注意在提出这个问题之前我已经做了很多搜索 这是结果

this questionthis question 对我来说是不可接受的,因为它们使用 $(window) jQuery 元素全局处理事件,我不想这样做。

【问题讨论】:

    标签: knockout.js


    【解决方案1】:

    keypress 事件仅针对“字符”键触发,而不针对箭头键。

    来自MDN

    当一个键被按下并且该键通常产生一个字符值时触发 keypress 事件

    所以你需要使用keydownkeyup事件来捕获方向键:

    <input type="text" data-bind="textInput: $data, event: {keydown: $parent.HandleMove}" />
    

    演示JSFiddle.

    【讨论】:

      猜你喜欢
      • 2020-12-10
      • 2014-10-19
      • 2012-06-07
      • 2017-05-06
      • 2013-02-27
      • 2020-11-11
      • 2013-07-31
      • 2010-10-02
      相关资源
      最近更新 更多