スパイスラボ神部です。
単刀直入に言うと、JavaScript で入力済みフォームにフォーカスをあてるときのブラウザ間の挙動の差異に困っています。
とりあえず Win 版 Firefox と IE で
textarea に入力済みのフォーム部品があったとします。このウィジェットに focus でカーソルを移動させると、それぞれ下記のようにフォーカスがあたる(カーソルが移動)します。
IE の場合・・・テキストエリアの先頭に
Firefox の場合・・・テキストエリアの末尾(入力済みテキストの最後に)
これを解決するにあたり、なにかいい方法はないものでしょうか。
ちょっとヒントになりそうなもの
-教えて!北京五輪「みんなにQ&A」 テキストエリアへセットフォーカス
ついでに気になる情報
[JavaScript] focus()するならblur()してから | FXB | 株式会社エフエックスビイ
うまく行く方法があれば、追記したいと思います。
もうひとつ知りたいこと
もしかしたらなにかの拡張機能でできるのかもしれませんが、
「自分が現在フォーカスをあてているフォーム部品」
への JavaScript 的なパス document.[formid].[widgetid] みたいなのを一発取得してクリップボードにコピーできるようなものありませんかね!
追記:setSelectionRange でいってみよう
textbox.setSelectionRange(0, 0); によると、
[PathToTheelement].textbox.setSelectionRange(0,0)
とかでいけるみたいです。
手元でもばっちり確認できました。
関数の名前からすると、もともとは範囲選択をするためのもののようですね。
テキストボックス内でカーソル位置を移動する方法 - Enjoy*Study
追記2:動作確認出来たブラウザ
Sleipnir、Google Chrome の原稿最新バージョンでも動作確認出来ました。
関連記事


