0

ページが次のように読み込まれると、左右の矢印キーを無効にしています。

$(document).keydown(function(event) {
     switch(event.keyCode){
        case 37:
        case 39:
            return false;
            break;
     }
 });

テキストエリアまたは入力フィールド ID がオンフォーカスのときにそれらを再アクティブ化し、その要素がフォーカスされなくなったときに再び非アクティブ化したいと考えています。どうやってそれをしますか?

4

3 に答える 3

2

を確認できますevent.target

$(document).keydown(function(event) {
    if (event.target instanceof HTMLInputElement 
     || event.target instanceof HTMLTextAreaElement)     { 
       return true;
    }
     switch(event.keyCode){
        case 37:
        case 39:
            return false;
            break;
     }
 });
于 2012-08-16T06:00:41.703 に答える
0

スイッチケースに戻る条件としてこれを試してください

if(event.target.tagName != "INPUT" &&  event.target.tagName != "TEXTAREA" )
{
   return false;
   break;
  }
于 2012-08-16T06:23:58.043 に答える
0

これはうまくいくはずですが、アクセシビリティ上の理由から、これを行うべきではありません。

var blockKeys = true; //Set this to true or false as needed
$(document).keydown(function(event) {
     switch(event.keyCode){
        case 37:
        case 39:
            if(blockKeys === true) {
                event.PreventDefault();
            }
            break;
     }
 });
于 2012-08-16T06:01:12.993 に答える