如何在按下Tab键时停止在keydown上运行jQuery函数

时间:2012-05-14 04:28:26

标签: jquery

我是jQuery的新手,并且无法找到解决方案。

我有这个HTML:

<input type="text" id="Box1" /><br />
<input type="text" id="Box2" />

和jQuery:

$("#Box1").keydown(function () {
    $("#Box2").val("");
});
$("#Box2").keydown(function () {
    $("#Box1").val("");
});

此处示例:http://jsfiddle.net/tv4my/

当您输入“Box1”然后开始输入“Box2”时,Box1的内容将被清除。这很好,但是如果按下Tab键,我不希望这个功能运行,即如果我按下Box2内的Tab键,我不想要清除Box1。我如何在jQuery中写这个?

2 个答案:

答案 0 :(得分:1)

点击该键时使用e.preventDefault()

$("input").keydown(function(e){
    if(e.keyCode == "9"){
        e.preventDefault();
    }
});

检查JSFiddle here

答案 1 :(得分:1)

您需要检查用于启动事件的密钥:

$("#Box1").keydown(function (e) {
    // If the pressed key is not tab (9) then reset Box2
    if(e.keyCode !== 9){
        $("#Box2").val("");
    }
});
$("#Box2").keydown(function (e) {
    // If the pressed key is not tab (9) then reset Box1
    if(e.keyCode !== 9){
        $("#Box1").val("");
    }
});