我正在尝试将我的网站移至tinyMCE 4,但我遇到了一些绊脚石,因为版本4仍处于测试阶段,此时http://www.tinymce.com/上的文档非常稀少。我已经能够解决我的大多数问题了,但是这个问题让我感到困惑,我甚至不确定如何确定问题出在哪里。
我在http://ymsrunning.com/mce.php设置了一个测试网站。您会注意到使用主页上的任何工具栏按钮都可以正常工作。您可以输入输入框,然后从焦点开始。
问题是,当您单击链接以显示Colorbox时,这些相同的工具不起作用。即使出现弹出窗口,输入也没有焦点,您无法点击它们输入任何内容。
tinyMCE创建自己的输入框以匹配主题,但我无法弄清楚他们对焦点做了什么。任何关于我应该如何进行的想法,或者更好的是,问题是什么,都会非常感激。
答案 0 :(得分: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弄乱它。我希望这可以帮助其他遇到这个问题的人。