ブラウザの種類とバージョン、WPのバージョンはなんでしょうか。
追記:
textareaのキャレット(入力受付を示す点滅する棒)が画面に表示されていない状態でペーストを行うと、いい感じに自動スクロールしてくれるおもてなし機能がブラウザにあるようです。
これを無効化するために、pasteイベントを監視して、その時のスクロール位置を保存、自動スクロールが終わった頃に元の位置へスクロールするuserscriptを書いてみました。
以下をコピペしてhateq.user.js等のファイル名(必ず.user.jsで終わるよう)にし、文字コードutf-8で保存。作成したファイルをchromeにドラッグアンドドロップしてインストール。
@includeの部分は動作させたいページのURLを適宜変更してください。複数指定する場合は@includeの行を増やすだけです。
アンインストールは通常の拡張と同じ手順。
// ==UserScript== // @name WordPress tinyMCE disable auto scroll // @namespace http://d.hatena.ne.jp/Cherenkov/ // @include http://localhost/wordpress/wp-admin/* // ==/UserScript== setTimeout(function() { if (document.querySelector('.mceIframeContainer')) { var tinymce = document.querySelector('.mceIframeContainer #content_ifr').contentDocument.getElementById('tinymce'); tinymce.addEventListener('paste', function() { var x = window.scrollX; var y = window.scrollY; setTimeout(function() { scrollTo(x, y); }, 0); //firefoxは2くらい }, false); } }, 500);
pasteイベント後のsetTimeoutの時間を0msにしてもスクロールする際に一瞬ちらつきますが、これはどうしようもなさそうです。
http://jsfiddle.net/7L72D/ で再現でき、以下のように対策したら成果がでたのでUserScriptでの解決を図ってみました。回答1を追記したのでご確認ください。
2012/07/08 23:51:04http://jsfiddle.net/7L72D/2/
>> ツールボタンが見えている状態では発生しませんね。
2012/07/09 19:44:31ホントですねぇ。「投稿入力欄の大きさ」を500にしていたのですが、50にして画面内に収まるようにしました。不便ですがこれでやりくりしてみます!ありがとうございました!