2014-11-23 59 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' />