防止在 Safari 和 Firefox 中选择和复制表格列?
Posted
技术标签:
【中文标题】防止在 Safari 和 Firefox 中选择和复制表格列?【英文标题】:Prevent table column from being selected and copied in Safari and Firefox? 【发布时间】:2010-11-14 13:23:37 【问题描述】:我正在开发一个基本上是一个小实用程序的工具,它在一个有两列的表中显示一段源代码,一列用于行号,另一列用于实际源代码。
我发现您可以使用以下 CSS 阻止选择文本的外观:
table th
-moz-user-select: none;
-webkit-user-select: none;
不幸的是,这不起作用。虽然文本显示为不被选中,但如果你复制并粘贴它仍然会复制它。
那么实际上有办法做到这一点吗?
【问题讨论】:
【参考方案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)
【讨论】:
以上是关于防止在 Safari 和 Firefox 中选择和复制表格列?的主要内容,如果未能解决你的问题,请参考以下文章
未在使用 Firefox 的选择列表中选择值(适用于 chrome、safari、opera)