繁体   English   中英

如何防止使用 user-select: none 设置样式的文本被复制?

[英]How do I prevent text styled with user-select: none from being copied?

我已经构建了一个在零售环境中使用的库存管理应用程序。 它显示购买/销售信息如下:

    Product Name
    Employee Name
    SKU
    Date

在一天结束时,员工会将任何购买/销售复制/粘贴到表格中。 唯一需要的信息是产品名称,因此我将user-select: none应用于其他信息。 这确实会阻止选择文本,但会产生另一个问题。 粘贴的文本以空白代替不可选择的文本。 粘贴后看起来是这样的:

    Product 1



    Product 2



    Product 3

我希望它在粘贴时看起来像这样:

    Product 1
    Product 2
    Product 3

有没有办法防止使用user-select: none样式的行被复制? 或者至少在粘贴剪贴板时摆脱空白?

您可以通过将多行空白替换为一个新行字符来实现。

 let str = ` Product 1 Product 2 Product 3`.replace(/\\n+/g, '\\n'); // \\n = new line console.log(str);

或者你可以制作一个按钮来复制元素的文本,并且只复制需要复制的元素的值。 这可以通过document.execCommand('copy');来完成document.execCommand('copy'); 将值放入文本区域并选择它后。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM