在IE中无法选择的文字

时间:2011-06-02 11:48:00

标签: html css select

我要求在我的页面上有一个HTML元素(标签)对于IE来说是不可选择的...目前我已经尝试了

  1. Unselectable=on
  2. onselectreturn=false;
  3. 没有一个能帮助我。

    对于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。

3 个答案:

答案 0 :(得分:6)

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

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

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

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

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

所有这些仅适用于IE8

答案 1 :(得分:6)

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

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

答案 2 :(得分:0)

unselectable设置为off,它应该有效。

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

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

这对我也有用

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

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