2016-07-22 10 views
0

私は私がショートカットを配置することができます。このJavaScriptを持っているが、私は無効にショートカット

//press A for back to top 
jQuery(document).keydown(function(e){ 
    var target = e.target || e.srcElement; 
    if (target.tagName !== "TEXTAREA" || target.tagName === "INPUT") { 
      if(e.which == 84) { 
       $("html, body").animate({ scrollTop: 0 }, 500); 
       return false; 
      } 
    } 
}); 

が、私は(target.tagName !== "TEXTAREA" || target.tagName === "INPUT")を挿入するためならばスクリプトが動作しないテキストエリアに入力して、それらを無効にします?どうすれば修正できますか?

+0

のですか?詳しく教えてください。 – user3163495

+0

私は正しく文字を入力することができます入力のようにテキストエリアにショートカット – Xanger

答えて

1

あなたは間違った条件を持って、正しいものは次のとおりです。

if (target.tagName != "TEXTAREA" && target.tagName != "INPUT") {...} 

また、 'A' のUnicode値が 'T'、65、84です。

+0

ありがとう!それは完全に動作します – Xanger

0

あなたは、あなたが「トップへプレスA」が、あなたのコード使用「T」CHARCODE(84)を書いたあなたのコメントにところで

//press A for back to top 
$(document).keydown(function(e){ 
console.log(e); 
    if(e.which == 65 && e.target.tagName !== 'INPUT'&& e.target.tagName !== 'TEXTAREA') { 
     $("html, body").stop().animate({ scrollTop: 0 }, 500); 
     return false; 
    } 
}); 

にコーディング簡素化することができます。正しいCHARCODEは、あなたが「スクリプトが動作しない」とは何を意味するか65

Here a working jsfiddle

関連する問題