0

onkeydownまたはonkeypressを使用して、HTMLテキストフィールド(入力タイプ=テキスト)に複数の文字を貼り付ける方法を見つけようとしています.onkeyupには興味がありません(機能します)ので、この解決策を提案しないでください. また、Jquery には興味がなく、使いたくありません。すべてのブラウザで動作するソリューションが必要です。

イベントの文字を取得することにより、1文字を入力するとそれを行うことができますが、今まで、貼り付け(ctrl + V)またはマウスから文字のグループを取得できませんでした。

オート コンプリートの結果を表示する Facebook の検索メニューを見ることができます。これは onkeydown と onkeypress のイベントで動作し、指を離す前に結果が表示されることに気付きます。何か (複数の文字) を貼り付けようとすると、結果が表示されます。指を離す前に、どうやって?Onkeypress と onkeydown は、テキストがテキスト フィールドに追加される前に発生するため、貼り付けまたは入力した最初のものを表示しません。

私がもっと欲しいものを理解したい場合は、以下のコードを確認してください。

 <input type="text" id="targetTextField" onkeydown="CapturePastedString(this.id)" />



<script>
function CapturePastedString(id){

var targetTextField=document.getElementById(id);

// below I need to capture the pasted string like:
var pasted_string= function(){.....}

targetTextField.value=pasted_string;

}
</script>

長い間試していますが、まだ解決策を見つけることができないので、どんな助けもとてもありがたいです.

4

1 に答える 1

0

Try the onkeydown handler it works.You can get the keyCode from there and then the key.

<input type="text" value="" onkeydown="alert(String.fromCharCode(event.keyCode));"/>

Note that since all characters on the keyboard are capital you would also get capital letter. The above code would display the key pressed

于 2013-03-08T19:46:21.483 に答える