jHTMLarea - Выбор текста не работает в IE9
jHTMLarea работает во всех браузерах, но в IE9, если для текстового поля требуется полоса прокрутки, все, что находится ниже начального окна, не будет выделено, когда пользователь выберет его.
Код ниже - это то, что я использую для вызова плагина.
$(function() {
$("#aboutTextEdit").htmlarea({
toolbar: ["bold", "italic", "unorderedList", "|", "link", "unlink" ],
loaded: function(event) {
}
});
});
2 ответа
Догадаться!! Благодаря Warren Bullock
И используя этот вопрос stackOverflow (как только я выяснил, что это проблема iframe): Невозможно выделить текст, оставленный в Iframe за пределами видимой области
кикер входит в файл jHTMLArea и комментирует эту строку: edit.designMode = 'on';
который находится на линии 308. Прекрасно работает во всех браузерах сейчас!
У меня была такая же проблема с jHTMLarea 0.7.5. Эта проблема существует и в других WYSIWYG-редакторах.
Для исправления этого вы должны отредактировать ваш файл jhtmlarea.js. Ищи:
DesignMode= на
Затем удалите этот термин и вставьте
edit.body.contentEditable = true;
.. в конце функции. Убедитесь, что вы устанавливаете contentEditable ПОСЛЕ того, как начальный документ написан так:
[..]
initEditor:function(options)
{
var edit=this.editor=this.iframe[0].contentWindow.document;
edit.open();
edit.write(this.textarea.val());
edit.close();
if(options.css)
{
var e=edit.createElement('link');
e.rel='stylesheet';
e.type='text/css';
e.href=options.css;
edit.getElementsByTagName('head')[0].appendChild(e);
[..]
edit.body.contentEditable = true;
[..]
Похоже, что это решение работает и в Firefox, поэтому вам не нужно делать переключатель браузера. Посмотрите, что вы устанавливаете "contentEditable" для HTML-элемента, такого как "body" или "div", а не непосредственно для "document"-Object.