Javascript 禁用键盘<;输入>;钥匙
我只想禁用键盘上的Enter键。以下脚本出于某种原因锁定了整个键盘,但仍然只允许使用Enter键 如果这有助于查明遗漏或错误,我将使用V.s.2005、VB.NET 2.0和I.E.7Javascript 禁用键盘<;输入>;钥匙,javascript,Javascript,我只想禁用键盘上的Enter键。以下脚本出于某种原因锁定了整个键盘,但仍然只允许使用Enter键 如果这有助于查明遗漏或错误,我将使用V.s.2005、VB.NET 2.0和I.E.7 <meta http-equiv="content-type" content="text/html; charset=windows-1252"> <head> <meta http-equiv="content-type" content="text/html; cha
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<script language="JavaScript">
function TriggeredKey(e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
if (window.event.keyCode = 13 ) return false;
}
</script>
</head>
<body onkeydown="TriggeredKey(this)">
函数TriggeredKey(e)
{
var键码;
如果(window.event)keycode=window.event.keycode;
如果(window.event.keyCode=13)返回false;
}
如果您有jQuery,请尝试以下操作:
$('html').bind('keypress', function(e)
{
if(e.keyCode == 13)
{
return false;
}
});
您的
=
应该是=
(比较与分配)
我已经成功地使用了这段代码
function handleKeypress(e){
e = e || window.event ;
if (e == null){
return false;
}
if (e.keycode == 13){
CompleteEvent(e);
}
}
function CompleteEvent(e){
e.cancelBubble = true;
e.returnValue = false;
}
另外,我强烈建议对javascript使用新形式的钩子设置
function setKeyHook()
{
var eventName = 'onkeydown';
var handlerFunc = handleKeypress;
body.detachEvent( eventName, handlerFunc );
body.attachEvent( eventName, handlerFunc );
}
onload = setKeyHook;
祝你好运
有关更多信息,请参见。
感谢你教我。这对我很有用
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<script language="JavaScript">
function TriggeredKey(e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
if (window.event.keyCode != 13 ) return false;
}
</script>
</head>
<body onkeydown="TriggeredKey(this)">
函数TriggeredKey(e)
{
var键码;
如果(window.event)keycode=window.event.keycode;
如果(window.event.keyCode!=13)返回false;
}
功能停止键(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;
在之间添加脚本,或者您可以使用Jason的答案修复代码。我只是更喜欢jQuery。感谢您提供了另一个选项。我更喜欢这个答案,并且喜欢您可以用更具体的选择器替换“html”,以实现更有针对性地禁用enter键(或任何其他键)。这非常有效!接得好,我错过了那个球!我也试过了,回车键仍然没有被禁用,尽管键盘的其余部分是可用的,而大多数键以前都是锁定的。是否存在造成此不兼容的未知网络设置?我不熟悉JavaScript,但这似乎应该简单明了。@Cameron-抱歉,这已经晚了几年了。。。当您指定事件处理程序将返回值传递回事件系统时,需要包含一个return语句:@JasonMusgrove您真的救了我的命。非常感谢。虽然我也无法让它工作,但是否缺少一个{tag?谢谢你的代码!我会继续玩这个。好像我的代码或环境中的其他东西玩得不好。是的。我现在已经修复了它。很抱歉。在第二部分中,我发现很有趣,为了避免编写
文档。onkeydown=handler
,你最终会编写窗口。onload=handler
!(你知道,onload=
实际上意味着这个。onload=
和这个
,这里是窗口
对象)。除此之外,谢谢你的代码。你现在刚刚颠倒了它,错误实际上是,=应该是==@GroundZero我感谢你纠正了我的错误和你的javascript启示。我的错误是因为错误地假设return false
行上的所有命令都被附加了。我测试e代码是通过切换return false;
和return false;alert(!”;
)来实现的。但是,附加命令显然被视为Else语句。答案可能大致相同,但问题不重复。同意:这个问题是纯javascript,而建议的重复项是jQuery
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<script language="JavaScript">
function TriggeredKey(e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
if (window.event.keyCode != 13 ) return false;
}
</script>
</head>
<body onkeydown="TriggeredKey(this)">
<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>