在ie6中使用jquery的select.attr('value',xx);时在ie6中会报错,不能正确设置其值,解决方法就是在设置值的代码块周围加上setTimeout,如:
window.setTimeout(function(){//ie6需要稍微延迟 select.attr('value',xxx); }, 100);
为什么呢?stupid IE!特别是6
因为在往select中动态添加option时,浏览器执行javascript设置select的属性的时候浏览器可能还没将它们渲染到页面中(ie6),因此使用setTimeout可以使浏览器渲染线程先将元素渲染到页面中区,再使用javascript线程执行改变它们属性的操作。
ie中checkbox 的onchange
在ie9以前的版本中使用checkbox的onchange时会出现不能马上执行所绑定的方法,原因是只有当checkbox失去焦点时(lose the fucus/onblur)时才会触发所绑定的方法。