首页 > 解决方案 > IE:在后面附加时输入不起作用

问题描述

以下输入在 IE 中不起作用。你不能输入它

<script>
    document.body.insertAdjacentElement("afterend", document.createElement("INPUT"));
</script>

有谁知道是否有任何解决方法可以解决它?

注意:如果以这种方式附加,textarea 可以正常工作。

编辑:您可以在 IE11 中进行测试:https ://bolder-field-technosaurus.glitch.me/

标签: javascripthtml

解决方案


元素不能位于 HTML 文档中的 body 标签之外。“afterend” 在父元素之后(外部)创建输入元素 - 在这种情况下是 body 标签。因此,您可能希望使用“beforeend”,以便可以在结束正文标记之前创建它。

参见 MDN: https ://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentElement

您还会在浏览器兼容性部分看到它不支持 IE 中的所有元素虽然它特别提到了 svg 元素......但我不确定为什么它不适用于输入。


推荐阅读