Firefoxでテキストエリア内のマウスカーソルが最初に戻ってしまう件

category-icon

 こんばんは。何だか、地球特捜隊ダイバスターGみたいなタイトルになってしまいました。近頃は、もっぱらFirefoxで記事を書いていますが、この際に、ひとつ「何じゃ」と思っていたことがあります。記事作成画面で記事をしこしこ書いていて、時々、文字を強調したり文の整形のために、ppBlogツールバーから選んでタグを反映させますが、その際にFirefoxだと、テキストエリアにフォーカスを合わせると、マウスカーソルがテキストエリアの先頭に移動しちゃうんですよね。なので、その都度、また修正を加えた場所までスクロールさせないといけません。文章が長くなってくると、スクロール量も増えて大変。で、ブロッグは書いてなんぼ、こういう所でストレスを感じさせるようではイケナイ。というわけで、webを検索したらちゃんと便利な属性がありました。ちなみにIEエンジンならマウスカーソルは、修正を加えた箇所にとどまってくれるので問題ないです。

 テキストエリア内で垂直方向にスクロールした距離は、次のプロパティーで読み書き可能です。

object.scrollTop

なので、予め、この値を取得しておき、内容に修正を加えた後で、再度この値に設定すれば良いです。具体的には、ppBlogのlib.jsで言えば、

var s = ed.selectionStart;
var scrollTop = ed.scrollTop;
ed.value = ed.value.slice(0,s)+ed.value.slice(s).replace(caretSelection, string);
ed.setSelectionRange(eval(s+string.length), eval(s+string.length));
ed.scrollTop = scrollTop;
ed.focus();

とすれば良い。ホットピンクの部分が変更した箇所です。これで、Firefoxでもストレスなく記事が書けます。

 余談ですが、Firefoxの最新版は、1.5.0.4で6月2日にバージョンアップしています。最近のFirefoxは、アップデートもほぼ全自動ですし、良い感じですね。最近、見つけたTipsは、「スムーズスクロールを使用する」です。自分がIEエンジンから、なかなかFirefoxに乗り換えることが出来なかった最大要因が、何か皮を一枚被ったような「もっさり」感でした。どことなくスムーズでない。で、よくよく注意してみると、どうもスクロール時のぎこちなさが原因じゃないかと思いました。そういえば、設定項目にスクロールの項目があったような、と、「ツール」→「オプション」→「詳細」→「一般」の「ブラウズ」という項目にありました。デフォルトではオフになってるんですね(自分が以前に弄ったのかも知れないけど)。で、これをオンにすると、マウスホイールでのスクローリングのスムーズなこと!おぉー、これこれ、って感じでした:) 皆さんも一度、試されては■


— posted by martin at 04:21 am   commentComment [1]  pingTrackBack [0]

T: Y: ALL: Online:
Created in 0.0035 sec.
prev
2006.6
next
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30