javascript - Firefox 中的退格键问题

标签 javascript jquery firefox

我有一个文本框并仅使用 jquery 应用了 Allow Alphabets With Space。它在 chrome 中工作但在 firefox 中退格键不起作用。

<input type="text" placeholder="" id="id1">

$(function(){
$('#id1').keypress(function (event) {
      if ((event.which >= 65 && event.which < 91) || (event.which > 96 && event.which < 123) || event.which === 32 || event.which===0) {
          return true;
      }
        else {
          event.preventDefault();
      }
 })});

这是Plnkr

最佳答案

浏览器处理退格字符的方式不同。在 Chrome 中,退格键永远不会进入按键事件处理程序,但在 Firefox 中它会。

如果你添加|| event.which === 8 到你的条件,你将允许退格并返回 true,这将使它在 Firefox 中工作。

编辑:向上、向下、向左、向右和 Tab 键在 Firefox 中也不起作用。

var ignoredKeys = [8, 9, 37, 38, 39, 40];

if (ignoredKeys.indexOf(event.which) >=0 || (event.which >= 65 && event.which < 91) || (event.which > 96 && event.which < 123) || event.which === 32 || event.which===0) {
    return true;
} else {
    event.preventDefault();
}

关于javascript - Firefox 中的退格键问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31580493/

相关文章:

javascript - 使用 jQuery 从日期字符串中删除日期

firefox - 使用 ebextensions 配置在 Elastic beanstalk 上安装 Firefox?

firefox - 仅在 Firefox 中边框半径和背景不连接

html - 如何在 CSS 文件中更改 safari 和 opera 的字体大小而不是 chrome。

javascript - 此联系表单代码有什么问题?

javascript - 无法将订阅的可观察对象作为字符串放入集合中

javascript - 了解 JavaScript 继承

javascript - HTTP 请求 beforeunload : sendBeacon vs img. src

javascript - JQuery Accordion 子菜单/嵌套不工作

javascript - 如何使用javascript将div内容替换为 "html content"?