"display:none"内容复制到剪贴板,粘贴时可见

stu*_*nik 10 html css outlook copy paste

我在将未显示的HTML元素复制到剪贴板时出现问题,然后在将内容粘贴到MS Word,Outlook等时显示.

例如:

<p>Hello</p>
<p style="display: none;">I'm Hidden</p>
<p>World</p>
Run Code Online (Sandbox Code Playgroud)

如果我在浏览器中查看HTML,将文本复制到剪贴板,然后粘贴到Outlook,则中间段保持隐藏状态.好消息.

但是,在此示例中:

<p>Hello</p>
<input type="text" value="I'm not hidden" style="display: none;" />
<p>World</p>
Run Code Online (Sandbox Code Playgroud)

如果我这样做 - 复制到剪贴板,粘贴到Outlook - 文本输入可见的.

有什么方法可以抑制这个吗?(无需告诉用户在Outlook中选择"仅保留文本".)

谢谢!

Joh*_*ers 4

听起来您需要让 JavaScript 创建 DOM 部分,而不仅仅是更改 CSS 样式。不要更改“我隐藏”段落的显示属性,而是让 JavaScript 在您希望显示该元素时创建该元素,并在您希望隐藏它时将其删除。

如果元素足够复杂,那么也许您可以使用“display:none”将它们放在文档的底部,然后将它们移动到您希望它们可见的位置。