2012-05-14 11 views
1

jQueryを初めて使用していて、これに対する解決策を見つけることができませんでした。Tabキーを押したときにkeydownでjQuery関数を実行する方法を停止する方法

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

私はこのHTMLを持っていますコンテンツはクリアされます。これは良いですが、Tabキーを押すとこの機能を実行したくありません。つまり、Box2のTabキーを押すとBox1をクリアしないようにします。これをjQueryでどのように記述すればよいですか?

+0

タブのキーに加えて、あなたはまた、シフト、Ctrlキー、矢印など – nnnnnn

+0

良いアイデアを無視する@nnnnnn感謝を好むかもしれません –

答えて

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(""); 
    } 
}); 
+0

完璧!どうもありがとうございます! –

1

使用e.preventDefault()そのキーをクリック:

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

チェックJSFiddle here

+0

ありがとうございますが、私はまだ他のボックスにタブすることができる必要があります。私はちょうどタブが押されたときに内容を消去したくない。これは可能ですか? –

関連する問題