3

到目前为止,我在按键上调用了这个。

function chkenter()
{
  e = event.keyCode;

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

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

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

4

2 回答 2

1

它是一个仅限 IE 的脚本,因此如果您尝试在 firefox 上运行它,它将无法工作。

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

于 2009-09-29T16:31:37.477 回答
0

您可以使用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);
于 2013-02-11T17:17:16.677 回答