4

Tab当我在文本框中按下键时,我想触发一个事件,例如显示警报消息。

<input type="text" />

$("input").blur(function (e) {
   if (e.which == 9)
       alert("Hurray!!!");
});

我想要发生的是,每当我在文本框中输入然后点击Tab它就会做一些事情。

我正在使用jquery1.7.2.min.js

我真的不知道我做得对不对。

对于演示http://jsfiddle.net/QfCpC/

4

7 回答 7

13
$("input").keydown(function (e) {

   if (e.which == 9)
       alert("Hurray!!!");
});

小提琴演示

于 2013-02-15T07:08:24.523 回答
2

这有帮助吗

$("input").live("keydown" , function (e) {
if (e.which == 9)
   alert("Hurray!!!");
});

http://jsfiddle.net/QfCpC/3/

于 2013-02-15T07:09:35.480 回答
2
<input type="text" />

$("input").keydown(function (e) {
   if (e.which == 9)
        $('#someButton).trigger('click');//or you can directly call the handler also
});
于 2013-02-15T07:12:05.457 回答
2
$(document).ready(function() {

    $("input").bind("keydown",function (e) {

   if (e.which == 9)        
       alert("Hurray!!!");
});
});

演示在这里..

http://jsfiddle.net/QfCpC/

于 2013-02-15T07:16:23.080 回答
1

为了e.which正确设置参数,我相信必须从 keydown 事件中调用它。

看这里的小提琴。http://jsfiddle.net/QfCpC/2/

于 2013-02-15T07:08:42.753 回答
1

试试:http: //jsfiddle.net/cEzLL/

$("input").keydown(function (e) {
   if (e.keyCode === 9)
       alert("Hurray!!!");
});
于 2013-02-15T07:10:03.480 回答
1

原因是当你点击“标签”时会发生两个动作

  1. 选项卡按钮的 KeyUp
  2. 输入类型字段的模糊操作

现在根据您的代码,您正在将 eventlistner 添加到 blur 事件......并且 blur 事件没有为您提供键绑定的属性。

所以为了做到这一点,你需要绑定“keydown”。

$("input").keydown(function (e) {
  if (e.which == 9)
       alert("YEYYYYYYY!!!");
});
于 2013-02-15T07:11:12.140 回答