jHTMLarea - 在IE9中选择文本不起作用



jHTMLarea适用于所有浏览器,但在IE9中,如果文本框需要滚动条,则当用户突出显示初始窗口时,初始窗口下方的任何内容都不会突出显示。

下面的代码是我用来调用插件的代码。

       $(function() {
            $("#aboutTextEdit").htmlarea({
            toolbar: ["bold", "italic", "unorderedList", "|", "link", "unlink" ], 
                loaded: function(event) {               
                }
            });
        });

我对jHTMLarea 0.7.5也有同样的问题。此问题也存在于其他所见即所得编辑器中。

要解决此问题,您必须编辑您的jhtmlarea.js文件。寻找:

设计模式=打开

然后删除此术语并插入

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。

想通了!!感谢沃伦·布洛克

并使用此堆栈溢出问题(一旦我发现这是一个 iframe 问题):无法选择可见区域之外的 Iframe 中剩余的文本

踢球者进入jHTMLArea文件并注释掉这一行:edit.designMode = 'on';

在第 308 行。现在在所有浏览器中都能很好地工作!

最新更新