通过HTML onkeypress限制某些字符的输入

时间:2015-10-02 11:34:28

标签: javascript jquery html

如果用户试图键入某些字符(如空格),我会尝试限制用户的输入。为此,我发现了this帖子。

但我想通过HTML的onkeypress属性来实现它。并且遇到问题,如果我指定函数返回false,那么什么都不会发生,但如果我在HTML的属性中返回false - 输入就不会发生。

我无法理解我做错了什么。你能告诉我怎么解决这个问题吗?



function doMatch() {
  return false;  
}

$('#test').keypress(function() {
  //return false;   
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text" onkeypress="doMatch();" id="test"/>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

  

但我想通过HTML的onkeypress属性来实现它。

我建议您不要这样做,因为将Javascript行为保留在HTML代码之外会更好。这项技术的名称是Unobstrusive Javascript

但如果您真的想这样做,则必须使用return关键字才能使其正常运行:

<input type="text" onkeypress="return doMatch();" id="test"/>

答案 1 :(得分:0)

您只需要在doMatch();

之前添加return

&#13;
&#13;
function doMatch() {
  return false;  
}

$('#test').keypress(function() {
  //return false;   
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text" onkeypress="return doMatch();" id="test"/>
&#13;
&#13;
&#13;