【问题标题】:input type text cant be typed into in ie 11 if created using javascript! :(如果使用 javascript 创建,输入类型文本不能在 ie 11 中输入! :(
【发布时间】:2016-07-15 14:36:21
【问题描述】:

这是我创建的最简单的示例,但在 ie 11 中不起作用:( 它实际上不会让我输入文本输入!

<!DOCTYPE html>
<html>
<body>

<script type='text/javascript'>
var text = document.createElement('input');
text.type = 'text';
document.documentElement.appendChild(text);
</script>
</body>
</html>

我怎样才能绕过这个荒谬的错误? 我正在构建一个复杂的网站,该网站使用 javascript 生成大部分 html。

【问题讨论】:

标签: javascript text input internet-explorer-11 edit


【解决方案1】:

document.documentElement 将是您的 html 页面,您正尝试将一个元素附加为 documentElement 的 innerHTML 的同级元素。

body代替documentElement

var text = document.createElement('input');
text.type = 'text';
document.body.appendChild(text);

【讨论】:

  • 虽然不能真正做到这一点。问题发生在 documentElement 的多个级别。我出于其他原因使用 documentElement。
  • @sfdsfdsfdsfdsfdsfd 你需要把所有的元素放在body标签里面。 document.documentElement 是文档本身。这会使它无效。
  • 好的,我试了一下。它适用于 document.body 级别,但不适用于嵌套在父 div 中的输入类型文本。如果您想了解我的意思,这是实际站点:86.171.165.12
【解决方案2】:

去过那里...我不得不将注意力集中在输入上。

$("input").click(function(){ $(this).closest('input').focus()})

【讨论】:

  • 难以置信,不是吗!我花了一上午的时间试图解决另一个在 Firefox 中使用表格的错误。但是这个!这么简单的东西不能正常工作真是太荒谬了,无论如何,谢谢你尝试一下!
  • 好的,当点击事件完成时,这确实有效。问题是点击事件没有触发我不得不在ie中使用addEventListener。
  • 很高兴,请标记为正确答案。 :)。 @sfdsfdsfdsfdsfdsfd
  • 我该怎么做:/?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-02
  • 1970-01-01
  • 2013-05-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多