使enter键的行为类似于Javascript中的tab键
到目前为止,我已经在键盘上调用了这个使enter键的行为类似于Javascript中的tab键,javascript,asp-classic,visual-studio-2005,keycode,Javascript,Asp Classic,Visual Studio 2005,Keycode,到目前为止,我已经在键盘上调用了这个 function chkenter() { e = event.keyCode; if (e == 13) { event.keyCode = 9; return false; } } 但即使我将keycode设置为9,它也不会切换到下一个控件。我怎样才能做到这一点?我在Asp Classic工作 我最终想要的是将焦点转移到下一个元素。然而,下一个元素的id并不是完全确定的,因为它的id是在循环中设置的,但此时它存在如何将
function chkenter()
{
e = event.keyCode;
if (e == 13)
{
event.keyCode = 9;
return false;
}
}
但即使我将keycode设置为9,它也不会切换到下一个控件。我怎样才能做到这一点?我在Asp Classic工作
我最终想要的是将焦点转移到下一个元素。然而,下一个元素的id并不是完全确定的,因为它的id是在循环中设置的,但此时它存在如何将焦点设置到下一个控件是个问题。这是一个仅限IE的脚本,因此如果您尝试在firefox上运行它,它将无法工作 要使其在IE上工作,请从代码中删除“return false;”,不要忘记将此函数设置为“onkeydown”事件。您可以使用如下方法:
您已将此问题标记为VS2005。这让你听起来很像这个人,有着同样的问题:@crescent是6年前发布的。。。也是在VS2005面世前将近2年…@Rex:你的观点?不同版本的VS中的同一个问题可能有相同的解决方案。新月-这对我的问题没有任何帮助-根本没有。他在那个论坛上找不到真正的解决方案。你的目标浏览器是什么?我相信你的代码可以在IE中工作,但不能在其他浏览器中工作。我不知道如何在其他浏览器中实现这一点,但我在IE 5.5+中看到了一个非常类似的代码片段。这是正确的。谢谢我应该意识到这一点。onkeydown在on键按下之前。谢谢
function checkKey(e){
if( e.keyCode == 13 ){ // if enter key
var e = jQuery.Event('keydown'); // create a manual event
e.which = e.charCode = 0;
e.keyCode = 9; // set the new event to "tab"
$(this.target).trigger(e); // trigger the new event (on the document)
return false; // cancels the original "enter" event from executing
}
}
// lets say you bind the event on the whole document...
$(document).on('keydown', checkKey);