使 Enter 键的行为类似于 Javascript 中的 Tab 键

发布于 2024-08-05 22:57:11 字数 333 浏览 3 评论 0原文

到目前为止,我已经通过按键调用了这个。

function chkenter()
{
  e = event.keyCode;

  if (e == 13)
  {
    event.keyCode = 9;
    return false;
  }
}

但即使我将键码设置为 9,它也不会切换到下一个控件。我怎样才能做到这一点?我在 Asp Classic 工作。

我最终想要的是将焦点转移到下一个元素。然而,下一个元素的 id 并未完全确定,因为它的 id 是在循环中设置的,但此时它存在。 如何将焦点设置到下一个控件是问题。

So far i have this being called on keypress.

function chkenter()
{
  e = event.keyCode;

  if (e == 13)
  {
    event.keyCode = 9;
    return false;
  }
}

but even though i set the keycode to 9 it doesn't tab over to the next control. How can i accomplish this? I'm working in Asp Classic.

What I ultimately want is for the focus to move to the next element. The next element's id, however, is not determined completely because its id was set in a loop, but at this point it exists. How can i set focus to the next control is the question.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小清晰的声音 2024-08-12 22:57:12

这是一个仅适用于 IE 的脚本,因此如果您尝试在 Firefox 上运行它,它将无法工作。

要使其在 IE 上运行,请删除“return false;”从您的代码中,不要忘记将此函数附加到“onkeydown”事件中。

It is an IE only script, so if you try to run it on firefox it wont work.

For it to work on IE, remove "return false;" from your code and dont forget to atach this function into "onkeydown" event.

过气美图社 2024-08-12 22:57:12

您可以使用 jQuery 来完成此操作,如下所示:

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);

You can do this using jQuery like so:

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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文