特定のキーが押されたときにイベントを発生させようとしています。入力またはテキストエリアの入力時にjquery keypressを無効にする
しかし、ユーザーがフォームフィールドにある場合は、この動作を無効にしたいと思います。これを行うには、ユーザーがフォームフィールドに入力しているかどうかをテストするにはどうすればよいですか?ありがとう。
特定のキーが押されたときにイベントを発生させようとしています。入力またはテキストエリアの入力時にjquery keypressを無効にする
しかし、ユーザーがフォームフィールドにある場合は、この動作を無効にしたいと思います。これを行うには、ユーザーがフォームフィールドに入力しているかどうかをテストするにはどうすればよいですか?ありがとう。
たぶん、あなたは、あなただけのスイッチの前に$(文書).keypressイベントにdisable_keyeventsの値をチェックするグローバルVAR
var disable_keyevents = false;
$('textarea,input')
.focus(function() { disable_keyevents = true })
.blur(function() { disable_keyevents = true; });
を設定することができます。
$(document).keypress(function(e) {
if ($(e.target).is('input, textarea')) {
// event invoked from input or textarea
}
...
});
このコードは、ユーザーがフォーム内でASCII文字#96を押すとトリガーされます。このキーを押すと、このキー入力の「デフォルトコード」を無効/変更できます。
$('#my_form_field').live('keypress', function(e) {
if (e.keyCode == 96) {
e.preventDefault();
// Do stuff.
}
});
これは素晴らしい動作です、ありがとうございます! – Bill