2

我是 JavaScript 新手,想知道是否有办法在用户按下 Enter 按钮之前检查焦点的位置。我想根据焦点以不同的方式处理事情。有任何想法吗?

4

2 回答 2

3

我猜这基于焦点意味着如果用户在一个输入上按下回车键你想做一件事,如果用户按下回车键进入另一个输入做其他事情。

如果我是对的,您不必检查焦点在哪里。您想将函数绑定到 onkeypress 事件。

<script>
function doStuffOnEnter()
{
    var x = event.keyCode;
    if(x == 13) // if user pressed intro
    {
       //do stuff
    }
}
</script>
<input type="text" onkeypress="doStuffOnEnter()" />

上面的代码非常基础,但仅供您了解。

更多信息在这里:http ://www.w3schools.com/jsref/event_onkeypress.asp

于 2012-09-13T21:49:50.163 回答
2

如果您的网站使用 jQuery,这对于 JavaScript 新手来说很常见,那么您可以将 DOMElement 存储在一个全局变量中以供您检查。

var currentFocus = null;
$('input, textarea').focus(function() { 
    currentFocus = this; 
});

这将让您知道用户按下回车键时最后一次“关注”的位置。如果您不使用 jQuery,代码会稍长一些,但想法相同。

于 2012-09-13T21:46:20.067 回答