如何控制复制到剪贴板的文本

时间:2013-09-12 14:29:29

标签: javascript html

我有一个HTML表格,我看到有人复制/粘贴该表格的一部分。当我尝试它时,结果很乱,需要大量清理,因为该表包含很多带有图像和内容的列。

有没有办法将选择限制在表的前2列?

OR

有没有办法替换正在复制的文本(用户选择“apple”并按下复制,但“banana”最终会出现在剪贴板中)?

3 个答案:

答案 0 :(得分:1)

This answer from a Trello developer为类似于您想要做的事情提供了一个漂亮的解决方案。基本上,当用户按 Cmd + C Ctrl + C 时,您可以选择有用的东西然后被复制到剪贴板。

答案 1 :(得分:0)

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或更低版本中不可用。

答案 2 :(得分:0)

要限制列选择,我将使用用户选择,如Mooseman建议的那样。问题是浏览器目前支持他们自己的属性版本而不是实际的用户选择。

<style>
    .notSelectable{  
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }
</style>

您可以在http://caniuse.com/user-select-none

中查看支持