1

我尝试在此代码中禁用文本选择,但没有成功。编辑(感谢 techfoobar): http: //jsfiddle.net/5uG63/3/我应用大部分代码的唯一元素是其中包含三个的元素。其余的你将能够突出显示。我知道任何拖动功能都不起作用,因为这是一个更大的代码块的片段,很难发布看到它通过 Ajax 获取元素。我并不担心用户选择文本是为了获取信息,但有时当文本被选中时,它会干扰拖放功能。

对于包含这三个元素的元素,以及启用它们的所有其他元素,似乎只有一种情况会发生这种情况。使用 Internet Explorer,如果您要单击最左侧两个框之间的空白中心,然后将鼠标拖动到两个框的最右侧,则数字 3 将被选中。我正在使用 Internet Explorer 9。

我尝试在 CSS 中禁用它,似乎效果不大。我认为问题在于它是从它所在的 div 之外选择的。

那是我使用的 CSS:如何使用 CSS 禁用文本选择突出显示?

-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;

谢谢你的帮助!

4

1 回答 1

0

对于您的表,您已指定onselectstart="select()". 您应该将其更改为onselectstart="return select()"(注意return)以确保您从select()函数返回的false被通知给浏览器,从而阻止选择。

检查这个小提琴:http: //jsfiddle.net/5uG63/4/

注意:这仅在您从元素本身开始选择时才有效。如果您从表外开始选择,仍然会被选中。

于 2012-10-28T09:51:59.900 回答