我有一个 HTML 表格,我看到人们复制/粘贴该表格的部分内容。当我尝试它时,结果是一团糟,需要大量清理,因为该表包含很多带有图像和内容的列。
有没有办法将选择限制在表格的前 2 列?
或者
有没有办法替换正在复制的文本(用户选择“苹果”并按下复制,但“香蕉”最终出现在剪贴板中)?
我有一个 HTML 表格,我看到人们复制/粘贴该表格的部分内容。当我尝试它时,结果是一团糟,需要大量清理,因为该表包含很多带有图像和内容的列。
有没有办法将选择限制在表格的前 2 列?
或者
有没有办法替换正在复制的文本(用户选择“苹果”并按下复制,但“香蕉”最终出现在剪贴板中)?
来自 Trello 开发人员的这个答案为类似于您想要做的事情提供了一个漂亮的解决方案。基本上,当用户按下Cmd+C或Ctrl+C时,您可以选择有用的内容,然后将其复制到剪贴板。
为了限制列选择,我会按照 Mooseman 的建议使用用户选择。问题是浏览器当前支持他们自己的属性版本,而不是实际的用户选择。
<style>
.notSelectable{
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
}
</style>
JavaScript 无法控制剪贴板,这是 Flash 的一种常见用途。
您可以user-select: none
在后面的表格<td>
元素上使用来阻止 CSS 中的文本突出显示。由于user-select
是一个新属性,因此您必须为某些浏览器添加前缀:
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
请参阅http://css-tricks.com/almanac/properties/u/user-select/了解更多信息。还应注意,user-select
在 IE9 或更低版本中不可用。