2016-04-18 12 views
1

あなたが私を助けることができるかどうか疑問に思っていました。私は、任意のヘルプ感謝入力がない場合にのみ何かをする

document.onkeydown = checkKey; 

function checkKey(e) { 

    e = e || window.event; 

    if (NO_INPUTS_IN_FOCUS) { 
     if (e.keyCode == '37') { 
      // left arrow 
     } 
     else if (e.keyCode == '39') { 
      // right arrow 
     } 
    } 

} 

をタブを変更する+右矢印を残したが、ページには何の入力が焦点にない場合にのみ希望のおかげで、複数のtabs.Iとページ上の複数の入力を備えています。

答えて

4

をお試しください:

if (!($("input").is(":focus"))) {  
    NO_INPUTS_IN_FOCUS = true;  
} 

else { 
    NO_INPUTS_IN_FOCUS = false; 
} 
+0

これは驚くべきことに、 'NO_INPUTS_IN_FOCUS =!$(" input ")と書くことができます。is(":focus ")' - 動作しませんあなたがそれらを追加しない限り、テキストエリアと選択してください – mplungjan

+0

パーフェクトは、チェックなしの後を除いていました.-、おかげです! –

1

は、あなたのケースでは

document.onkeydown = checkKey; 

function checkKey(e) { 

    e = e || window.event; 
    var target = e.target || e.srcElement, 
     tag = target.tagName.toLowerCase(); 

    if (tag != "input" && tag.indexOf("select") ==-1 && tag != "textarea") { 
     if (e.keyCode == '37') { 
      // left arrow 
     } 
     else if (e.keyCode == '39') { 
      // right arrow 
     } 
    } 

} 
+0

共有のためにそれを感謝を行うための興味深い方法thatsの!この場合はjqueryオプションを使用しますが、何か新しいことを学んでしまいました –

関連する問題