IE无法在从tinyMCE编辑器中聚焦离开后放置焦点和光标于输入文本框。

9

我刚刚在tinyMCE fiddle中重现了同样的错误。

这是链接:http://fiddle.tinymce.com/39daab

页面上有简短的描述...

按照步骤进行将展示我遇到的错误...

我一直在尝试自己解决这个问题,但我觉得我做不到。

我已经查看了无数次tinyMCE文档和bug报告页面,

但我找不到任何线索。

真的很奇怪,IE可以放置焦点,但不能在输入元素上放置光标。

您可以通过选择$('*:focus')来检查当前聚焦的元素...

聚焦确实可以工作,但放置光标却不行。

3个回答

4
发布此文以帮助遇到类似问题的人。我也曾遇到过类似问题。看起来IE9+存在一个bug,如果焦点在被删除的dom元素上,则其他元素上的焦点事件将停止工作。
在我的情况下,我通过在销毁富文本编辑器(CKEditor)之前执行$('input').focus()来解决了这个问题。
该bug在以下链接中有描述: 为什么我有时不能在IE中输入<input>? 和这里: http://bugs.jqueryui.com/ticket/9122

2
谢谢你提供这个解决方案!我使用了伪选择器 $(': input').focus() 以设置在任何输入类型上获得焦点(而不仅限于HTML INPUTs),但除此之外,一切都很完美! - Campbeln

0

我在tinyMce 4.4.0版本中遇到了同样的问题。 在IE11中,使用window.focus()可以解决这个问题。

function closeTinyMce(){
  tinymce.remove();
  setTimeout(function(){
    window.focus();
  },10)
}

http://fiddle.tinymce.com/DWfaab/1


0

另一个类似的问题:在我们的网页上,我们使用快速动画(.slideDown(100)/ .slideUp(100))隐藏和显示div。这些div包含输入框,IE9、10和11中随机出现无法获得焦点的情况。

输入框会出现,但当您悬停在它们上面时,光标不会改变,如果您单击输入框,什么也不会发生,就像输入框不存在一样。有时,如果您按Tab键,它会自行修复,您可以将焦点集中并在输入框中获得光标。

当我们删除动画或增加时间(例如.slideDown(500))时,似乎它开始工作了-我们无法重现此问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接