【问题标题】:In JavaScript, how do I handle backspace and delete key presses to perform its key function as well as extra stuff?在 JavaScript 中,我如何处理退格键和删除按键以执行其键功能以及额外的东西?
【发布时间】:2011-08-05 09:12:16
【问题描述】:

我有一个文本框,我希望能够在其中按退格键或删除键,并让这些按键执行其相关功能,即删除光标旁边的字符,但另外我也希望在那些保持新闻事件上做一些额外的事情。

到目前为止,我的解决方案涉及在 onKeyDown 事件上调用一个检查退格键或删除 keyCode 的函数,但问题是一旦它处理了我想要完成的与这些按键相关的额外内容,它实际上并没有执行键删除文本框中的字符的功能。下面显示了一个代码示例。当用户在文本框中进行编辑时,这会产生键对用户不起作用的效果。

function foo(obj)
{
      // if key is backspace or delete ...
      if ((event.keyCode == 8 || event.keyCode == 46))
      {
           // do extra stuff here.        
      }
}

我想知道是否有一种方法可以触发退格或删除键功能,而无需确定光标位置和操作文本框中的字符串(并且不涉及 jQuery 解决方案)?

【问题讨论】:

  • 测试键码并做一些额外的事情通常不会阻止这些键发挥其正常效果(除非您希望这样做),除非您的额外内容修改了同一文本框中的文本或改变焦点什么的。请显示设置调用 foo() 方法的事件处理程序的代码。 (也许可以试试 onkeyup 而不是 onkeydown。)

标签: javascript


【解决方案1】:

似乎我正在调用一个由其他人编写的现有函数,并且在该函数中包含以下代码:

event.returnValue = false;

显然,这个属性似乎禁止连接到事件的默认动作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-05
    • 2020-01-30
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    相关资源
    最近更新 更多