【问题标题】:IE can't place focus and cursor on input text boxes after focusing out of tinyMCE editor离开tinyMCE编辑器后,IE无法将焦点和光标放在输入文本框上
【发布时间】:2013-10-25 05:02:03
【问题描述】:

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

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

页面上有简要说明...

按照步骤操作将向您显示我遇到的错误...

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

我浏览了 tinyMCE 文档和错误报告页面一千遍,

但我无法得到提示。

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

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

对焦确实有效,但放置光标无效。

【问题讨论】:

    标签: javascript jquery internet-explorer tinymce


    【解决方案1】:

    发布此内容以防万一遇到此问题的其他人有所帮助。我有一个类似的问题。好像 IE9+ 有一个 bug,如果焦点在一个被移除的 dom 元素上,其他元素上的焦点事件就会停止工作。

    在我的情况下,我能够通过在销毁富文本编辑器 (CKEditor) 之前执行 $('input').focus() 来解决它。

    此处概述了错误: Why can I sometimes not type into my <input> in IE?

    这里: http://bugs.jqueryui.com/ticket/9122

    【讨论】:

    • 感谢您提供此解决方案!我使用伪选择器 $(':input').focus() 将焦点设置在任何输入类型(而不仅仅是 HTML INPUT)上,但除此之外还有其他作用!
    【解决方案2】:

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

    输入框出现了,但是当你将鼠标悬停在它们上面时光标不会改变,如果你点击输入没有任何反应,就像输入不存在一样。有时,如果您按 Tab 键,它会自行修复,您可以在输入中聚焦并获得光标。

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

    【讨论】:

      【解决方案3】:

      我用 tinyMce 4.4.0 版本重现了同样的问题。 window.focus() 解决iE11中的问题。

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

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

      【讨论】:

        猜你喜欢
        • 2018-08-07
        • 1970-01-01
        • 2012-11-03
        • 2016-05-11
        • 2014-09-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多