3

我正在尝试将我的网站移动到 tinyMCE 4,但由于版本 4 仍处于测试阶段,并且http://www.tinymce.com/上的文档在这一点上非常稀疏,因此我遇到了一些障碍。我已经能够解决我的大部分问题,但是这个问题让我很困惑,我什至不知道如何确定哪里出了问题。

我在http://ymsrunning.com/mce.php建立了一个测试站点。您会注意到使用主页上的任何工具栏按钮都可以正常工作。您可以在输入框中输入内容,它们以焦点开头。

问题是当您单击链接以显示颜色框时,这些相同的工具不起作用。即使会出现弹出窗口,输入也没有焦点,您无法单击它们输入任何内容。

tinyMCE 创建自己的输入框来匹配主题,但我不知道他们对焦点做了什么。任何关于我应该如何进行的想法,或者更好的是,问题是什么,将不胜感激。

4

1 回答 1

4

事实证明,这不是 tinyMCE 的问题,而是 Colorbox 的问题。Colorbox 防止关注其容器之外的任何内容,而 tinyMCE 在 Colorbox 容器之外创建其元素。Colorbox 代码中有一个名为“trapFocus”的函数可以创建此行为。代码如下。

function trapFocus(e) {
if ('contains' in $box[0] && !$box[0].contains(e.target)) {
        e.stopPropagation();
        $box.focus();
    }
}

注释掉函数内部的内容,而不是函数本身,可以让元素保留并接受焦点,并防止 Colorbox 弄乱它。我希望这对遇到此问题的其他人有所帮助。

于 2013-05-22T22:40:31.563 回答