2011-06-02 67 views
3

我我的網頁上需要一個HTML元素(標籤)是不可選擇的IE瀏覽器...現在我已經試過文本在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-破解?

Stack Overflow上的答案幫了我,但不是IE。

+0

哪個版本的IE? – razlebe 2011-06-02 11:51:10

+1

不要這樣做。使元素不可選對於可用性通常非常不利。 – 2011-06-02 11:51:37

+0

@konrad ---我知道,但我想要的功能 @ razlebe - IE 8 – abhijit 2011-06-02 11:53:27

回答

6

在IE8中有兩種方法可以使不可選擇的一種元素:

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

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

一旦元素無法選擇,用戶無法從該元素中進行選擇。 但是,他們仍然可以通過從另一個不可選的元素中拖入元素 的文本或框中。

我試圖通過取消myElement上的各種事件(ondragenter,oncontrolselect,onmouseenter,onselectionchange ...)來解決這個問題,但它沒有奏效。

所有這僅適用於IE8

0

設置unselectableoff它應該工作。

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

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

這也爲我的作品

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

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

+0

它的作品,但我懷疑「關閉」不是它的官方價值,因爲它沒有任何意義。 '不可選擇='關''意味着與實際發生的事情相反。 – Spudley 2011-06-02 12:32:43

+1

你確定這有效嗎?我仍然可以選擇IE7,IE8和IE9 – 2011-06-02 12:36:22

+0

它在IE8中爲我工作。同意@Spudley。不知道爲什麼。 – 2011-06-02 12:39:35

6

<label unselectable="on">應在HTML的IE瀏覽器。如果從JavaScript應用它,你必須使用setAttribute:labelEl.setAttribute("unselectable","on")。​​不起作用(在IE9中測試)。

請注意,「不可選」屬性僅影響元素內部的文本,而不影響其子元素 - 如果這是您想要的效果,您還需要在它們上設置不可選。