2014-11-23 22 views
0

我想禁止用戶通過css選擇輸入控件的內容。 我試着去以下屬性添加到控件:CSS禁用輸入控件內容的選擇

#editContainer 
    {  
    user-select: none 
    -webkit-user-select: none 
    -khtml-user-select: none 
    -moz-user-select: none 
    } 

<div id='editContainer'> 
    <input id='daysInput' /> 
    <span id='daysString'></span> 
    <input id='hoursInput' /> 
    <span>:</span> 
    <input id='minuteInput' /> 
</div> 

,但它不工作...

我如何從用戶避免選擇的控制內容?

+0

可能重複[?我如何使用CSS禁用表單字段(http://stackoverflow.com/問題/ 5963099/how-do-i-disable-form-fields-using-css) – 2014-11-23 16:20:47

+0

http://jsfiddle.net/chriscoyier/vGG8F/3/ – 2014-11-23 16:23:07

回答

0

你不能用文本輸入字段做到這一點,如果他們的重點(即打開進行編輯)

它只會使用attr工作。禁用=「禁用」

<div id='editContainer'> 
    <input id='daysInput' disabled="disabled" value="Test"/> 
    <span id='daysString'></span> 
    <input id='hoursInput' disabled="disabled" value="Test"/> 
    <span>:</span> 
    <input id='minuteInput' disabled="disabled" value="Test"/> 
</div> 

看看這個例子http://jsfiddle.net/ce7st2ms/7/

+0

我不希望控件被禁用我想讓用戶改變它的內容...我不希望用戶選擇控件的文本 – 2014-11-24 07:21:00

0

我不認爲你會發現這個一個很好的解決方案。

我看到的唯一(JavaScript)方式是使用幾個元素並絕對定位。頂部元素(div或任何其他你喜歡的)如果輸入應該具有相同的大小。這個元素可以阻止選擇。

如果您需要在輸入欄中輸入一些數據,則在輸入完成後暫時隱藏此元素並返回。

1

您需要添加以下內容:

-moz-user-select: none; 
-webkit-user-select: none; 
-ms-user-select:none; 
user-select:none;' 
unselectable='on' 
onselectstart='return false;' 
onmousedown='return false;' 

例如:

<input style='-moz-user-select: none; -webkit-user-select: none; -ms-user-select:none; user-select:none;' unselectable='on' onselectstart='return false;' onmousedown='return false;' id='daysInput' />