• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:一部のテキストだけのKEYCODEを有効にしたい)

一部のテキストだけのKEYCODEを有効にしたい

このQ&Aのポイント
  • 初心者が四苦八苦している状況で、バックスペースキーを無効にしているが、一部のテキストのKEYCODEを有効にする方法が知りたい。
  • フォームには有効にしたいテキストが存在し、全体的にバックスペースを無効にしているが、一部だけ解除したい。
  • 解決策を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • susie-t
  • ベストアンサー率86% (37/43)
回答No.2

あ、テキストボックス全部で指定したければ以下のほうがいいということに気がつきました・・・。(ID指定不要です) --------------------------------------- <html> <head> <title></title> <script> <!-- window.document.onkeydown = function (event){ event = event || window.event; var elem = event.target || event.srcElement; if(elem.type == "text") return; if (event.keyCode == 8){ event.keyCode = null; return false; } } // --> </script> </head> <body> <input type="text"/> </body> </html> ---------------------------------------

その他の回答 (2)

  • susie-t
  • ベストアンサー率86% (37/43)
回答No.3

> ちなみに・・・現在、テキスト全部に対して指定していますが、 > その適すとの中で読み取り専用(readonly)かつOncopyでコピーができないようにしています。 > その場合は、idを指定した方法でOKでしょうか? すみません、ちょっとご希望の仕様がはっきりと分からないのですが、 テキストボックスがreadonlyの場合はバックスペースは無効にしたいということでしょうか? その場合はID指定でも可能ですが、以下でもできます。 ------------------------------------------- <html> <head> <title></title> <script> <!-- window.document.onkeydown = function (event){ event = event || window.event; var elem = event.target || event.srcElement; if(elem.type == "text" && elem.readOnly != true) return; if (event.keyCode == 8){ event.keyCode = null; return false; } } // --> </script> </head> <body> <input type="text"/> <input type="text" readonly/> </body> </html> ---------------------------------

rie-mama
質問者

補足

言葉が足りなかったようですみません。しかもテキストを適すとにしてしまって…。 そうです。読取専用のテキストの場合は、バックスペース無効です。

  • susie-t
  • ベストアンサー率86% (37/43)
回答No.1

テキストボックスにIDが指定できるなら以下で可能です。 ------------------------------------------------- <html> <head> <title></title> <script> <!-- window.document.onkeydown = function (event){ event = event || window.event; var elem = event.target || event.srcElement; if(elem.id == "ex") return; if (event.keyCode == 8){ event.keyCode = null; return false; } } // --> </script> </head> <body> <input type="text" id="ex"/> </body> </html> ------------------------------------------------- イベントオブジェクトのtargetプロパティ(Firefox等)、またはsrcElementプロパティ(IE)でイベント発生要素が取得できます。 イベントオブジェクト自体がIEとその他で取得方法が違います。IEはwindow.eventを使用しますが、Firefox等では引数に渡されます。 A = B || C; で、Bがnull OR undefined OR false OR 0 でなければ、AにBが入ります。逆ならCです。

rie-mama
質問者

お礼

完璧です!ありがとうございました。 ちなみに・・・現在、テキスト全部に対して指定していますが、その適すとの中で読み取り専用(readonly)かつOncopyでコピーができないようにしています。その場合は、idを指定した方法でOKでしょうか?