2016-11-06 12 views
0

私は、ユーザーがテキストボックスにフォーカスを置いて何かを入力すると動作するコードを持っています。Jquery自動フォーカスですがコピーが失敗します

しかし、私が望むのは、ユーザーがCtrl + Cキーを押すと、ユーザーがウェブサイトで利用可能なテキストをコピーできるようにすることです。 また、それはCTRLが押されているかどうかを知るためにブール値を使用して、Ctrlキー+ A、Ctrlキー+ Pのように、など

 jQuery('body').keydown(function (e) { 
 
      if ((e.keyCode === 8 || e.keyCode === 32 || e.keyCode === 173 || e.keyCode >= 48 && e.keyCode <= 90) || (e.keyCode >= 96 && e.keyCode <= 111) || (e.keyCode >= 185 && e.keyCode <= 193) || (e.keyCode >= 219 && e.keyCode <= 222)) { 
 
       $('#textbx').focus(); 
 
      } 
 
     });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
to select and copy text 
 

 
<br><br><br><br> 
 
<input class="textbx" id="textbx" value="" type="text">

答えて

0

をすべてCtrlキーコマンドをサポートする必要があります。

$(body).keydown(function(e) { 
    if (e.keyCode == ctrlKey || e.keyCode == cmdKey) ctrlDown = true; 

    if ((e.keyCode === 8 || e.keyCode === 32 || e.keyCode === 173 || e.keyCode >= 48 && e.keyCode <= 90) || (e.keyCode >= 96 && e.keyCode <= 111) || (e.keyCode >= 185 && e.keyCode <= 193) || (e.keyCode >= 219 && e.keyCode <= 222)) { 
     $('#textbx').focus(); 
    } 
}).keyup(function(e) { 
    if (e.keyCode == ctrlKey || e.keyCode == cmdKey) ctrlDown = false; 

    if (ctrlDown && e.keyCode == cKey){ 
     $(body).select(); 
     document.execCommand("copy"); 
    } 
}); 
+0

それは、いずれかのキーを押して上のオートフォーカスを破る:( – kannu

+0

は、それはそれをやっているものであることを確認するために 'keyup'部分を削除してください。もしそうであれば、代わりにif文にそこにあなたの' focus'を移動します。 – TheValyreanGroup

+0

ここで確認してください:https://jsfiddle.net/p47a3107どちらも動作しません。 – kannu

関連する問題