为什么onkeypress不起作用?

时间:2016-02-15 11:08:15

标签: javascript html

这是我刚刚在fiddler中运行的html控制代码:

<input type="text" id="txtname" value="John" onkeypress="return false;"/>
  • 案例1 (Chrome):上面的代码让我删除文本框中的文字,但不允许在文本框中插入新文字。

  • 案例2 (Firefox):不要删除也不要插入。

为什么会这样?怎么解决这个问题?

  

最后为什么这个结果彼此不同?

1 个答案:

答案 0 :(得分:1)

  

我想要的是不要让任何文本框值都插入不删除

我认为你正在寻找readonly(不需要js代码):

&#13;
&#13;
<input type="text" id="txtname" value="John" readonly/>
&#13;
&#13;
&#13;

  

但是,如果我只想让用户删除而不让他将文字插入

,该怎么办?

在这种情况下,您只允许backspace(代码8)和delete(代码46):

&#13;
&#13;
<input type="text" id="txtname" value="John" 
onkeydown='return event.which == 46 ||  event.which == 8' required />
&#13;
&#13;
&#13;

希望这有帮助。