我试图改变输入控件的颜色,当他们使用下面的CSS禁用。
input[disabled='disabled']{
color: #666;
}
这在大多数的浏览器,而不是IE浏览器。 我能够改变任何其他的样式属性,如背景颜色,边框颜色等......只是没有颜色的。 任何人都可以解释一下吗?
我试图改变输入控件的颜色,当他们使用下面的CSS禁用。
input[disabled='disabled']{
color: #666;
}
这在大多数的浏览器,而不是IE浏览器。 我能够改变任何其他的样式属性,如背景颜色,边框颜色等......只是没有颜色的。 任何人都可以解释一下吗?
不幸的是,如果你使用禁用的属性,不管你是什么IE浏览器将只默认文本灰色的颜色,一个奇怪的白色的影子......东西......但所有其他样式仍然可以工作。 : - /
我有同样的问题, <select>
在IE10的元素,发现只有选择元素有效的解决方案:
http://jsbin.com/ujapog/7/
有一个微软伪元素,使文本颜色进行修改:
select[disabled='disabled']::-ms-value {
color: #000;
}
规则必须在它自己的,否则其他浏览器会忽略由于语法错误的整个规则。 见http://msdn.microsoft.com/en-us/library/ie/hh869604(v=vs.85).aspx其他Internet Explorer的仅仅是伪元素。
编辑:我认为规则也许应该是select[disabled]::-ms-value
,但我没有旧的版本的IE浏览器在我的面前来试试吧-重新编辑本段或添加评论,如果这是一个进步。
有没有办法来覆盖禁用=“禁用”属性的风格。 这是我的工作,围绕解决这个问题,请注意,我只选择在我的案件提交按钮:
if ($.browser.msie) {
$("input[type='submit'][disabled='disabled']").each(function() {
$(this).removeAttr("disabled");
$(this).attr("onclick", "javascript:return false;");
});
}
例如可供选择: http://jsfiddle.net/0dr3jyLp/
我有textarea的“已禁用”更改字体颜色相同的问题为灰色。 我用“只读”属性,而不是“已禁用”属性的textarea下面的CSS做了一个解决方法
textarea[readonly] {
border:none; //for optional look
background-color:#000000; //Desired Background color
color:#ffffff;// Desired text color
}
它的工作对我来说就像一个魅力!,所以我建议任何其他解决方案之前,先试试这个,因为它是易于更换“已禁用”与“只读”不改变代码的任何其他部分。
我知道这是一直以来的创作这个话题的一段时间,但我创造了这个解决办法,嗯...这为我工作! (使用IE 9)
唯一的后果是,你不能选择的输入值。
使用Javascript:
if (input.addEventListener)
input.addEventListener('focus', function(){input.blur()}, true)
if (input.attachEvent)
input.attachEvent("onfocus", function(){input.blur()})
我只是做了整个背景为浅灰色,我觉得它更容易/迅速传达的,该框被禁用。
input[disabled]{
background: #D4D4D4;
}
顺便我解决了W / O的丑陋的灰色与类型=复选框的输入控制是离开它启用,并在onclick事件以防止更改使用一些JavaScript“禁用”,在IE控件的问题:
onclick='this.checked == true ? this.checked = false : this.checked = true;'
正如韦恩提到,三年后仍然没有运气瓦特/ IE9,但是...
你可以尝试降低opacity
使用CSS,这使得它更具可读性和与整个禁用状态帮助。
这是我找到了这个问题的解决方案:
//如果IE
inputElement.writeAttribute( “不可选择”, “上”);
//其它浏览器
inputElement.writeAttribute( “禁用”, “无效”);
通过使用这一招,你可以样式表添加到在IE和其他浏览器上你不能编辑输入框的作品你输入元素。
我混user1733926的和哈米德的解决方案,我发现了IE8有效编码,将是很好的知道,如果它在IE 9/10以及(?)。
<script type="text/javascript">
if ($.browser.msie) {
$("*[disabled='disabled']").each(function() {
$(this).removeAttr("disabled");
$(this).attr("unselectable", "on");
});
}
</script>
阅读这篇文章后,我决定创建一个作用类似于禁用输入框中输入一但“只读”。
所以我做了它,所以它是不能够被选择或标签,或者有给用户他们可以改变或选择价值理念鼠标光标。
测试了IE8 / 9,Mozzila 18,浏览器29
<input name="UserName" class="accountInputDisabled" id="UserName" type="text" readOnly="readonly" value="" unselectable="on" tabindex="-1" onselectstart="return false;" ondragstart="return false;" onmousedown='return false;'/>
input.accountInputDisabled {
border: 1px solid #BABABA !important;
background-color: #E5E5E5 !important;
color: #000000;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-moz-user-input: disabled;
-ms-user-select: none;
cursor:not-allowed;
}
input:focus {
outline: none;
}
无需overrride基于CSS的使用方法类与事件发挥完美的作品
你可以做一两件事:
<button class="disabled" onmousedown="return checkDisable();">
function checkDisable() {
if ($(this).hasClass('disabled')) { return false; }
}
http://navneetnagpal.wordpress.com/2013/09/26/ie-button-text-shadow-issue-in-case-of-disabled/
删除禁用的属性和使用只读属性。 需要写CSS实现所需的结果。 这个工程在IE8和IE9。
为例如,用于暗灰色,
input[readonly]{
color: #333333;
}
请检查该CSS代码。
input[type='button']:disabled, button:disabled
{
color:#933;
text-decoration:underline;
}
或查看URL。 http://jsfiddle.net/kheema/uK8cL/13/
该问题在IE11解决。 如果问题在IE11仍然存在,检查IE浏览器使用的渲染引擎。
我碰到这段代码就在计算器这让我使用JavaScript起飞禁用CSS类。
$("#textboxtest").prop("disabled", false).removeClass("k-state-disabled");
原来的线程可以在这里找到剑道UI -应用K-国家禁用类的文本输入想我应该分享!
使用这个CSS,适用于IE11:
input[disabled="disabled"], select[disabled="disabled"], textarea[disabled="disabled"] {
opacity:0.99 !important;
background:black;
text-shadow:inherit;
background-color:white;
color:black
}