可切换的可选文本

Switchable selectable text

本文关键字:文本      更新时间:2023-09-26

我有一个表格,里面装满了来自数据库的数据。一些javascript允许用户选择某些行并采取一些操作。我允许用户单击一行,然后移动单击另一行以创建组(以及按住 Alt 单击以选择/取消选择单个行)。

问题是我不喜欢文本在移动单击时突出显示的方式。是否有一些CSS设置或javascript/jQuery解决方案来禁用可选文本(最好跨浏览器或仅在Firefox中)。

如果可能的话,我还希望能够让用户有时或在同一表内的文本框表单输入中选择要复制和粘贴的文本,因此我希望能够以某种方式启用和禁用文本的选择。有什么想法吗?

这应该可以解决问题:

$('td').disableSelection();

例:http://jsfiddle.net/GhfuJ/1/

以下是完全禁用文本选择的一种方法:

$("selector").bind($.support.selectstart ? "selectstart" : "mousedown", function(event) {
    event.preventDefault();
});

这就是jQueryUI实现其disableSelection()方法的方式。

您可以定制选择器以排除textarea元素,或者使用if块将代码包装在事件处理程序中,该块计算在某些情况下设置的布尔值(例如,您可以在用户单击或 shift/alt + 单击时打开布尔值)。