【问题标题】:Prevent table column from being selected and copied in Safari and Firefox?防止在 Safari 和 Firefox 中选择和复制表格列?
【发布时间】:2010-11-14 13:23:37
【问题描述】:

我正在开发一个基本上是一个小实用程序的工具,它在一个有两列的表中显示一段源代码,一列用于行号,另一列用于实际源代码。

我发现您可以使用以下 CSS 阻止选择文本的外观:

table th {
    -moz-user-select: none;
    -webkit-user-select: none;
}

不幸的是,这不起作用。虽然文本显示为被选中,但如果你复制并粘贴它仍然会复制它。

那么实际上有办法做到这一点吗?

【问题讨论】:

    标签: javascript firefox safari copy-paste textselection


    【解决方案1】:

    您的所有行号都应位于单个 tr 中的单个 td 中。如果您为每一行创建一个 tr,您将无法阻止行号的复制。

    请参阅此页面的来源:http://pastie.org/561138 以获取示例。

    【讨论】:

    • 他试图在侧面显示行号,以便人们可以复制和粘贴代码而无需获取数字。阅读>理解>回答。
    • 我认为很难分辨出询问者在寻找什么。
    • 我可能会使用某种叠加层来防止突出显示,如果这是意图的话。
    【解决方案2】:

    您是否尝试过将它们放在单独的 div 中并使其浮动?

    我也刚刚找到this,使用jQuery 为您完成。你可以使用它,或者你可以把它拆开并弄清楚它是如何显示的,然后使用它。

    【讨论】:

    • JS 应该作为此类事情的最后手段。不过提供选项仍然很好。
    • 这就是为什么我建议使用它来获得所需的最终结果,并查看执行此类操作所需的代码。
    【解决方案3】:

    选择的内容取决于 DOM 树中的顺序。因此,您需要将源代码显示放在显示行号的 html 之前或之后。将源代码和行号放在单独的 div 中并浮动元素可能是实现此目的的最简单方法。

    【讨论】:

      【解决方案4】:

      您的问题的解决方案可以在这里找到:

      Line numbering and copy/paste (HTML/CSS)

      【讨论】:

        猜你喜欢
        • 2012-07-21
        • 1970-01-01
        • 2012-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-09
        • 1970-01-01
        • 2017-01-14
        相关资源
        最近更新 更多