Edit Button Templateを使って、カスタマイズしたタグボタンを追加していますが、ボタンを使ってタグを追加すると、スクロールバーが一番上まで戻ってしまって、編集の使い勝手が非常に悪くなりました。
調べてみたら、「Edit Button Template」が悪いのではなく、ボタン機能を提供しているQuickTagsのJavaScriptに機能不足がありました。(Mozilla/Netscapeのみ)
実際に追加したボタンでなくとも、imgボタンなどで画像を挿入しても、スクロールがトップまで戻ってしまいます。
原因は、wp-includes/js/quicktags.js内の、edInsertContent関数内にありますです。
修正前:
//MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos)
+ myValue
+ myField.value.substring(endPos, myField.value.length);
myField.focus();
myField.selectionStart = startPos + myValue.length;
myField.selectionEnd = startPos + myValue.length;
}
修正後:
//MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
var scrollTop = myField.scrollTop; //ADD
myField.value = myField.value.substring(0, startPos)
+ myValue
+ myField.value.substring(endPos, myField.value.length);
myField.focus();
myField.selectionStart = startPos + myValue.length;
myField.selectionEnd = startPos + myValue.length;
myField.scrollTop = scrollTop; //ADD
}
このように修正してみたところ、私の使っているFireFoxでもスクロールが戻されずに編集が継続できました。
※jsファイルがブラウザのキャッシュに残っている時があるので、その場合には、jsファイルをリロードするか、キャッシュをクリアしてみてください。