【问题标题】:Text Selection Internet Explorer文本选择 Internet Explorer
【发布时间】:2012-10-17 22:35:11
【问题描述】:

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

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

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

那是我使用的 CSS:How to disable text selection highlighting using CSS?

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

感谢您的帮助!

【问题讨论】:

  • 不要把所有东西都放到 jsFiddle 的 HTML 部分。将 CSS 和 JavaScript 放在正确的部分,并在 HTML 面板中仅保留 body 的内容。
  • 感谢您的回复。我实际上确实尝试过这样做,然后它停止运行。很抱歉给您带来不便。
  • 这是您的小提琴的正确版本。 :-) jsfiddle.net/5uG63/3
  • 感谢您的帮助!

标签: javascript css html internet-explorer-9 textselection


【解决方案1】:

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

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

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

【讨论】:

  • 是的,我有一个在运行的元素中进行选择的解决方案。我遇到的问题是从外部选择元素的特定情况。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-31
  • 1970-01-01
  • 2016-11-08
  • 2015-03-27
  • 1970-01-01
  • 1970-01-01
  • 2021-05-21
相关资源
最近更新 更多