IE下不能disabled掉select标签的option的解决方案

今天在工作中需要用到disabled掉一些select的option,结果发现IE6没有实现它。
还好我们下载select-option-disabled-emulation.js文件即可自动完成disabled标记的工作,代码也很少:

Java代码 复制代码
  1. /****************************************************************  
  2. * Author:   Alistair Lattimore  
  3. * Website:  http://www.lattimore.id.au/  
  4. * Contact:  http://www.lattimore.id.au/contact/  
  5. *           Errors, suggestions or comments  
  6. * Date:     30 June 2005  
  7. * Version:  1.0  
  8. * Purpose:  Emulate the disabled attributte for the <option>   
  9. *           element in Internet Explorer.  
  10. * Use:      You are free to use this script in non-commercial  
  11. *           applications. You are however required to leave  
  12. *           this comment at the top of this file.  
  13. *  
  14. *           I'd love an email if you find a use for it on your   
  15. *           site, though not required.  
  16. ****************************************************************/  
  17.   
  18. window.onload = function() {   
  19.     if (document.getElementsByTagName) {   
  20.         var s = document.getElementsByTagName("select");   
  21.   
  22.         if (s.length > 0) {   
  23.             window.select_current = new Array();   
  24.   
  25.             for (var i=0, select; select = s[i]; i++) {   
  26.                 select.onfocus = function(){ window.select_current[this.id] = this.selectedIndex; }   
  27.                 select.onchange = function(){ restore(this); }   
  28.                 emulate(select);   
  29.             }   
  30.         }   
  31.     }   
  32. }   
  33.   
  34. function restore(e) {   
  35.     if (e.options[e.selectedIndex].disabled) {   
  36.         e.selectedIndex = window.select_current[e.id];   
  37.     }   
  38. }   
  39.   
  40. function emulate(e) {   
  41.     for (var i=0, option; option = e.options[i]; i++) {   
  42.         if (option.disabled) {   
  43.             option.style.color = "graytext";   
  44.         }   
  45.         else {   
  46.             option.style.color = "menutext";   
  47.         }   
  48.     }   
  49. }  

你可能感兴趣的:(工作,qq,IE)