开发者

How to change the color of a disabled html control in Internet Explorer

input开发者_运维百科[disabled='disabled']
{
    background-color:#FFFBF0;
    color: #28B51D;     
}

I am using the following code, but it doesn't work in IE.

It works in the rest of the Browsers.


Since you tagged your question as javascript, here is my advice for IE : include an ie-only script with an ie-triggering html comments, that adds a ie-disabled class to every disabled input. If the status of inputs can change after the initial page load, add a timed observer to your page that sets the class properly.

input[disabled], input.ie-disabled
{
    background-color:#FFFBF0;
    color: #28B51D;     
}

javascript file, included with conditional comment:

function checkDisabled() {   
  var inputs = document.getElementsByTagName('INPUT');
  for(var i=0, l=inputs.length; i<l; i++) {
    if(inputs[i].disabled) {
        if(inputs[i].className.indexOf('ie-disabled')==-1)
      inputs[i].className = inputs[i].className+' ie-disabled';
    } else {
      inputs[i].className = inputs[i].className.replace('ie-disabled', '');
    }
  }
}


setInterval(checkDisabled, 1000); // check every second

Here is a test (for IE). Note that the color css attribute is ignored by IE for disabled inputs. If you really need a green text, use readonly instead of disabled.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜