- ベストアンサー
こういう事は可能ですか?
お聞きしたい事があるのですが、 textareaのテキスト系のタグの中に、クリックをすると「全て選択」状態になる onclick="this.focus()" onfocus="this.select() のタグを挿入したいのですが、 そのページにある、全てのテキストエリアにたいして、 一つずつ、埋め込むのではなく、 スタイルシートなどで、一気にする事はできないでしょうか? わかる方がいましたら、ぜひ教えてください。 また、クリックした時の色を変えることは可能でしょうか? こちらの方もよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
前半部のやりたいことはこういうことでしょうかね? やってることは簡単ですので、ちょっとだけ説明。 customOnFocus() はonFocusイベントをキャッチしたときに呼ばれるファンクション。 setOnFocus() はformのオブジェクトのイベントハンドラを置き換える処理。 例ではT1とT3にのみやりたい処理を当てています。 全てのテキストボックスに・・・ということであれば、 forでまわして、typeを判別して、全てのテキストボックスに当ててやればOK。 ただし、<body>にonLoadを指定する必要があります。 全部に書くよりは簡単でしょ? 全部試したわけではないですが、ほとんどのイベントハンドラは 置き換えることが出来ますよ。 <head> <title></title> <script language="JavaScript"> <!-- //カスタマイズされたonkeydownイベントハンドラ function customOnFocus(){ this.select(); } //onkeydownイベントハンドラを置き換える function setOnFocus(){ //ここでonfocusを置き換えたいオブジェクトのonfocusを //customOnFocusにする document.forms[0].T1.onfocus = customOnFocus; document.forms[0].T3.onfocus = customOnFocus; } // --> </script> </head> <body onLoad="setOnFocus()"> <form> <input name="T1" value="hogehoge"> <input name="T2" value="hogehoge"> <input name="T3" value="hogehoge"> </form> </body>
その他の回答 (2)
- onimotsu
- ベストアンサー率36% (279/758)
#1の追加です。 外部スクリプト(ファイル)についての説明は↓ http://tohoho.wakusei.ne.jp/js/write.htm#jsfile テキストエリアの背景色を変える。 例えば(フォーカスを得たときのみ変える) <TEXTAREA rows="2" cols="20" onfocus="this.style.backgroundColor='orange'" onblur="this.style.backgroundColor='white'"> </TEXTAREA>
補足
返事ありがとうございました。 雑文ですみませんでした。 もう一度、詳しく書きますね。 テキストエリアが、1ページに20個くらいあるんですが、 それに、「onclick="this.focus()" onfocus="this.select()」 という タグを埋め込みたいんです。 それを一つ一つに埋め込むのではなく、 何か別の方法で、そのページにあるテキストエリア全てに、 「onclick="this.focus()" onfocus="this.select()」 を対応させた状態にしたいのです。 それでは、よろしくお願いします。
- onimotsu
- ベストアンサー率36% (279/758)
JavaScriptの外部スクリプトを使用すれば良いと思いますが 質問の意味がよくわからないので私のアドバイスはここまで。 >クリックした時の色を変えることは可能でしょうか? JavaScriptでスタイルを設定すればよい。
お礼
わかりました。 ありがとうございました♪