【问题标题】:Text unselectable in IEIE中无法选择的文本
【发布时间】:2011-09-07 00:47:41
【问题描述】:

我需要页面上的一个 HTML 元素(标签)不能被 IE 选择...目前我已经尝试过

  1. Unselectable=on
  2. onselectreturn=false;

这些都没有帮助我。

对于 Firefox 和 Chrome,我设置了以下 CSS 属性,它们工作得非常好......但问题与 IE 一样。

您已设置的 CSS 属性:

-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
-o-user-select: none;
user-select: none;

是否有任何替代方案或 IE-hack?

Stack Overflow 上的回答帮助了我,但对 IE 没有帮助。

【问题讨论】:

  • 不要这样做。使元素不可选择通常对可用性非常不利。
  • @konrad---我知道但我想要那个功能@razlebe--IE 8
  • 您可以使用 JScript 来实现 - 还是只需要 CSS/HTML?
  • @KonradRudolph 实际上,将可选文本放在错误的位置,例如使用自制按钮或其他动态功能元素,可能会降低用户使用能力,具体取决于它是什么。
  • @VoidKing 从未见过这样的例子。我同意按钮上的可选文本不一定增加可用性,而是减少?我不这么认为。尤其是在移动应用程序中,几乎没有任何内容可供选择已成为时尚,这简直就是可用性地狱。

标签: html css select


【解决方案1】:

unselectable 设置为off,它应该可以工作。

<label unselectable="off">Something</label>

http://jsfiddle.net/sWguE/1/

这也适用于我

<label onselect="return false">Something</label> 

http://jsfiddle.net/sWguE/3/

【讨论】:

  • 它有效,但我怀疑“关闭”不是将其设置为的官方值,因为它没有意义。 unselectable='off' 意味着与实际情况相反。
  • 你确定这有效吗?我在IE7、IE8和IE9中仍然可以选择
  • 我刚刚编辑了答案以提供另一种可能的解决方案。我正在使用 IE8。
  • 我刚刚得到了阅读这篇文章的答案....msdn.microsoft.com/en-us/library/ms534706%28v=vs.85%29.aspx..i 跨越了我的标签,所以它没有点击...现在设置 unselectable="on" 很好
  • 很有可能您首先选择了另一个对象(如主体),然后将选择拖到跨度占用的区域中。 “将 UNSELECTABLE 属性设置为 on 的元素可以包含在从元素外部某处开始的选择中。”如果您直接单击元素,则 unselectable 属性会阻止 onselectstart 事件,但如果选择从其他地方开始,则不会。因此,将属性应用于单个 span 远不如将其应用于整个文档正文有效。
【解决方案2】:

在 IE8 中,有两种方法可以使元素不可选择:

1.) myElement.unselectable = "on"; // Does not work on body elements

2.) myElement.onselectstart = function (){ return false; }

一旦某个元素不可选择,用户就无法从该元素中进行选择。 但是,他们仍然可以选择元素的文本或框 通过从另一个不可选择的元素中拖入它。

我试图通过取消 myElement 上的各种事件(ondagenter、oncontrolselect、onmouseenter、onselectionchange...)来解决这个问题,但没有成功。

所有这些仅适用于 IE8

【讨论】:

    【解决方案3】:

    &lt;label unselectable="on"&gt; 应该适用于 HTML 中的 IE。如果从 javascript 应用它,您必须使用 setAttribute:labelEl.setAttribute("unselectable","on")labelEl.unselectable = "on" 不起作用(在 IE9 中测试)。

    请注意,“unselectable”属性仅影响元素内的文本直接,而不影响其子元素内的文本 - 如果这是您想要的效果,您还需要在它们上设置 unselectable。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      • 1970-01-01
      • 2023-04-02
      • 2015-06-15
      • 1970-01-01
      • 2016-11-30
      • 2011-05-25
      相关资源
      最近更新 更多