2012-04-21 10 views
3

私は、テキストエリア内のすべてのキーボードキーを無効にする可能性を探しています。私はいくつかの単一のものを無効にするWeb上のいくつかの例が見つかりましたが、どのように私はキーボード全体を無効にすることができますか?キーボードのキーをすべて無効にするにはどうすればよいですか?

+0

どのように特定のものを無効にしますか? –

+0

あなたは何をしたいですか?何も書いて貼り付けることができないテクスチャエリア?キーボードの入力を禁止するkeydown/keypress/keyupを禁止し、これらのイベントをjavacriptで防ぐには、 "disabled"属性を使用してください。 –

+0

'readonly'があなたのために働くように設定しますか?これは、ユーザーがテキストエリアをクリックできるようにする「無効化」の代わりです。https://developer.mozilla.org/en/HTML/Element/textarea – Murtnowski

答えて

14

the disabled attributeを使用してテキストエリアを無効にすることができます。または、readonly属性を使用して読み取るだけにすることもできます。 readonlyは、ユーザーがテキストエリア内をクリックしたり選択したりするのを妨げない限り、無効になっています。

そして、あなたは本当にこのようなJavaScriptの何か(jQueryのを使用して)それを行いますと、それを行う必要がある場合:

<textarea rows=3 cols=20></textarea>​ 

$("textarea").keydown(false); 

あなたがここでそれを試すことができます:あなたはtextare参照を持っていると仮定すると、http://jsfiddle.net/7n4G4/1/

2

をConsiそれはおそらくやり過ぎだと

textearea.onkeydown = textarea.onkeypress = function() { return false }; 

、しかし...:ような何か多分、あなたのtextareaの読み取り専用代わりに属性を使用するdering:あなたはまだあなただけコピー可能な第2の場合には、マウスを使用して/ペーストをコピーすることができるしている最初のケースで

textarea.readOnly = true 

を(関係ないキーやマウスを使用して) 。

0
document.getElementById('ID OF TEXTAREA').onkeypress=function(){return false;} 

知らんあなたが、もしあなたができるだけdisabledそれをやりたい理由。

2

あなたが

<textarea name="text" disabled> 

を選択せず​​に完全に無効にそれを維持したい場合は、あなたのユーザーがまだクリックして、テキストエリア

<textarea name="text" readonly> 

の内側に選択できることを確認する場合は、読み取り専用属性を使用しますキーボード入力のみを防ぐ場合

<textarea name="text" id="text-input"> 

非常に単純なjQuery

$("#text-input").on("keydown keypress keyup", false); 
+0

優秀!代わりに私のdatepickerを表示したいときにキーボードが表示されないようにしようとしています。 'readonly'を使用すると、トリックが実行されます。 –

関連する問題