2016-04-27 71 views
1

全部:如何知道什么时候在某个元素上触发按键事件

我是jQuery的新手。我对按键事件的问题是:

DIV 1个区 DIV 2区 DIV 3区

与click事件,这是很难说哪一个元素确实是按键事件happend,所以我想知道当我在body /#d1 /#d2 /#d3上指定.keypress()时,我该如何区分差异?

一个用户情况下,我想实现的是:

有两个输入文本框, [1]当他们没有获得焦点,如果用户按键触发,第一个文本框会自动获得焦点和接受输入,[2]如果我们点击第二个文本框来手动对其进行关注,那么只有它可以在不触发第一个获取焦点的情况下给用户输入。

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

目前的问题是关于[2]无论什么时候我在第二个输入文本框中输入,它总是会触发第一个文本框获得焦点,我想知道我的按键事件何时发生,我怎样才能解决这个问题?

感谢

+0

看到这样的https://api.jquery。 com/keypress /在你的情况下它将是$().keypress ... – kanchan

回答

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">

相关问题