html 在Safari中从拷贝的文本中排除元素

eqoofvh9  于 2022-12-09  发布在  其他
关注(0)|答案(1)|浏览(119)

我希望用户能够复制粘贴一个文本块,而不同时获得内联控件,如按钮。
在Chrome中,对控件应用user-select: none;就可以实现这一点。如果用户选择了整个段落,按钮将被排除在选择之外,复制操作只会给你内容。
在Safari中,使用-webkit-user-select: none;时,所选内容会在视觉上显示按钮未被选择,但复制粘贴仍包括其内容。
这里有一个演示。目标是选择所有内容,然后复制得到“13”,而不是“123”。
第一个
也行不通:将内容放入影子DOM中。
可能有用,但我希望有更好的:使文本成为SVG,或者扭曲DOM,使按钮仅在视觉上内联,而不是在DOM中。

p3rjfoxz

p3rjfoxz1#

一种解决方法是使用::before::after。使用一点CSS,您也可以保持内容编辑内联。
第一个
这有一个主要的限制,即不支持完整的DOM树,只支持文本或图像。
我不知道这是否适用于屏幕阅读器。

相关问题