我有一个文本框并仅使用 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/