【问题标题】:Run a function at the first keypress event on an input在输入的第一个按键事件处运行函数
【发布时间】:2013-05-14 22:12:20
【问题描述】:

我有一个 input 元素和一个运行函数 change()onkeypress 事件。问题是该功能不会在第一次按键时运行。例如,我必须输入 55 而不是 5 来获取要更新的函数,它的值是 5。不知何故,它无法识别最近的按键。我尝试添加其他事件,例如onfocusonselect,但无济于事。这是input的代码:

<input id="x" type="text" size="1" maxlength="2" onkeypress="change()" onfocus="change()" onselect="change()" onblur="change()" onchange="change()"></input>

【问题讨论】:

  • 使用onkeyup 会起作用吗?另外,change() 函数有什么作用,你怎么知道它不是第一次运行它?
  • 是的!谢谢,我不知道存在。请将其发布为答案,以便我选择它。

标签: javascript html events input onkeypress


【解决方案1】:

我认为问题可能是onkeypress 事件在插入值之前触发。

如果您想在按键被按下后捕获该值,您可以改用onkeyup 事件,看看是否效果更好。

【讨论】:

    【解决方案2】:

    你可以试试这个活动

    onKeyUp="change()"
    

    链接不再有效

    【讨论】:

      【解决方案3】:

      我猜这是因为值是在您释放密钥后才设置的。当我尝试使用onkeyup 时,它的工作原理

      http://jsfiddle.net/j8B8b/2/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多