【问题标题】:Why can I sometimes not type into my <input> in IE?为什么我有时不能在 IE 中输入我的 <input>?
【发布时间】:2012-02-17 04:36:46
【问题描述】:

我遇到了一个问题,有时我无法在 Internet Explorer 上输入任何输入/文本区域。我目前主要使用 IE9。

当我点击一个输入时,JS 点击处理程序(它会清空占位符文本)运行,并应用活动的 css。但是,光标没有出现,我无法输入。如果我切换到输入字段并开始输入,一切都会重新开始。

我运行了相当多的 JS,但运行时没有错误。我怀疑 TinyMCE 与它有关,但是当页面上没有编辑器时也会发生这种情况,所以这似乎也不是。如果你没有答案,我很想知道这里可能发生的事情,我可以研究更多,因为我有点难过。

【问题讨论】:

  • 是不是input/textarea没有焦点?
  • 请提供一个展示此行为的最小示例;你应该试试jsfiddle.net

标签: javascript html internet-explorer tinymce


【解决方案1】:

我最终解决了这个问题。这是 TinyMCE 的一个奇怪而令人讨厌的问题,当光标位于主窗口内时,TinyMCE 被破坏了。修复是在它被破坏之前明确地集中注意力。

【讨论】:

  • 您能否详细说明您是如何移除焦点的?
  • 我没能找到,但如果我没记错的话,它与$('html').focus() 类似。您还可以专注于另一个输入。只要它不在 TinyMCE 的 iframe 中(被核弹),应该没问题。
  • 谢谢@DanG,你拯救了我的一天。
  • 唯一的问题是 IE 并不真正理解 $('html').focus(),我最终附加了一个虚拟文本输入,聚焦它,然后聚焦正文(或销毁文本输入)。愚蠢的 IE。
【解决方案2】:

我曾经在 I.E. 上遇到过类似的问题。我在哪里使用 .split 来确保在获得焦点时输入框不为空。然而,IE不支持 .split 并且会使我的 js 崩溃。我不得不自己写,最终成功了。不确定这是否适用于您正在做的事情,但我想我会把它扔在那里。

【讨论】:

    【解决方案3】:

    由于页面上有大量 javascript,可能的原因可能是命名冲突,或者更可能是 js 崩溃。第 200 次遍历您的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-13
      • 2013-04-17
      • 1970-01-01
      • 2012-03-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-09
      相关资源
      最近更新 更多