我需要Javascript函数来禁用enter键
我需要使用JS函数来禁用enter键。我目前面临着我的Spring表单的问题我需要Javascript函数来禁用enter键,javascript,Javascript,我需要使用JS函数来禁用enter键。我目前面临着我的Spring表单的问题 <form:textarea path="name" onkeypress="return noenter()" 这应该可以: 标记: <form:textarea path="name" onkeypress="return noenter(event)"> 现场演示:您需要在keyup和keydown事件中解决此问题。浏览器使用独立于实际网页的enter键。因此,您需要在keyup或keydo
<form:textarea path="name" onkeypress="return noenter()"
这应该可以:
标记:
<form:textarea path="name" onkeypress="return noenter(event)">
现场演示:您需要在keyup和keydown事件中解决此问题。浏览器使用独立于实际网页的enter键。因此,您需要在keyup或keydown事件中停止事件传播。当按键事件发出时,浏览器本身已接收到该事件,无法阻止其处理。这是特定于enter键和其他一些键的。字符键如“a”和“b”不会出现此问题。
<script type="text/javascript">
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}
document.onkeypress = stopRKey;
</script>
函数stopRKey(evt){
var evt=(evt)?evt:((事件)?事件:空);
var节点=(evt.target)?evt.target:((evt.srcement)?evt.srcement:null);
if((evt.keyCode==13)和(&&(node.type==“text”){return false;}
}
document.onkeypress=stopRKey;
窗口。我认为事件
不是跨浏览器的。这是一个IE的东西…你使用的文本区域有什么特别的地方吗?通常,HTML textarea元素会将ENTER转换为换行符,而不是提交表单,不需要javascript。@Ali检查事件类型和键值。将其放在return语句前面:alert('e.type:'+e.type+';key:'+key)代码>-它应该提醒“按键”和一个数字。我已经用一个实时演示更新了我的答案。你真的应该添加一些解释,解释为什么这应该起作用-你也可以添加代码以及代码本身的注释-在其当前形式下,它没有提供任何解释,可以帮助社区的其他人理解你为解决/回答问题做了什么。这对于已经有答案的问题尤其重要。
function noenter(e) {
e = e || window.event;
var key = e.keyCode || e.charCode;
return key !== 13;
}
<script type="text/javascript">
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}
document.onkeypress = stopRKey;
</script>