【发布时间】:2014-07-15 22:39:55
【问题描述】:
我正在尝试为 contenteditable 创建一个 Polymer 元素。
我创建了一个contenteditable div,将this.innerHTML 放在那里,它就可以编辑了。使用 polyfills 都很好,例如在火狐中。但它不适用于带有原生 Shadow DOM 的 Chrome 35。
嗯,它仍然是可编辑的,但 document.execCommand 和 window.getSelection 都不起作用。
-
document.execCommand什么都不做。 -
window.getSelection().getRangeAt(0).toString()已定义但为空。 - 没有显示错误。
所以我无法设置选择的样式。
有人知道是否可以制作自定义可编辑元素吗?我究竟做错了什么?也许还有另一种方法可以在现代/未来的网络中使用 contenteditable?
【问题讨论】:
-
这看起来很有趣,如果您发布它,请发布一个指向您的代码的链接。
-
@PeterBurns 我在使用 Chrome 35 时遇到了另一个问题—— Range 对象不正确,所以我无法说明所选范围应用了哪些样式,或者将工具栏放置在选择边界附近。它看起来像一个 Chrome 错误,也许没有人尝试过我正在做的事情。如果您想查看 WIP 代码,我可以为您发布。否则我最好稍等片刻以获得更好的 Shadow DOM 稳定性。 (是的,使用 polyfill 一切都很好,但它没有任何价值。)
标签: javascript contenteditable polymer web-component shadow-dom