如何知道在某个元素上触发按键事件的时间

时间:2016-04-27 16:00:08

标签: jquery dom keypress

所有

我对jQuery很新。我关于重点新闻事件的问题是:

    DIV 1区              DIV 2区域         DIV 3区     

与click事件不同,很难分辨出keypress事件发生了哪个元素,所以我想知道如何在body上指定.keypress()/#d1 /#d2 /#d3?

我想要实现的一个用户案例是:

有两个输入文本框, [1] 当没有人获得焦点时,如果用户按键被触发,第一个文本框将自动获得焦点并接受输入, [2] 如果我们点击第二个文本框手动对焦它,然后只有它可以控制用户输入而不会触发第一个获得焦点。

我使用$(document).keypress(function(e){ $("input#firstinput").focus(); })来实现 [1]

当前的问题是关于 [2] 无论何时输入第二个输入文本框,它总是会触发第一个文本框来获得焦点,我想知道如何通过识别何时解决这个问题我的按键事件发生了吗?

由于

1 个答案:

答案 0 :(得分:0)

您可以先检查第二个输入是否未聚焦,以便将焦点设置在keypress

上的第一个输入上

$(document).keypress(function(e) {
  if (!$('.two').is(':focus')) $(".one").focus();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="one">
<input type="text" class="two">