这种情况我遇到过,你在写css时样式表加上浏览器标识符就行了,各浏览器区别如下:IE都能识别*,标准浏览器(如FF)不能识别*;
IE6能识别*,但不能识别 !important;
IE7能识别*,也能识别 !important;
FF不能识别*,但能识别 !important;
例如style="*width:10px;!important width:20px;"
这样在IE6下宽度为10px,在IE7下宽度时20px

解决方案 »

  1.   

    △ 如果FF调用obj.focus(); 报错,请尝试改为:
    window.setTimeout( function(){ obj.focus(); }, 0);现在的方案是在失去焦点前判断
    △ 关于在控件的blur事件里判断下一个获得焦点的控件的tip, 类似于Powerbuilder的item focus changing事件
    用途举例: 对dropdown控件里的text控件, 
    如果下一个获得焦点的对象是selection,则不做录入控制,如果不是,则提示,并设置焦点为text经测试:
    IE: blur发生在focus后
    FF: blur发生在focus前调用
    IE: 在onbeforedeactivate事件里用activeElement可以获得下一个对象FF: blur事件发生在focus前面,而FF又没有中间事件
    下面的都不行!
    target
    currentTarget
    relativeTarget看来需要这样处理!
    注册所有控件的onblur,设置lastElement
    在focus里处理上一个? 也不行啊!能否模拟自己的itemfocuschanging事件?
    IE: onbeforedeactivate
    FF: 抢先注册onfocus和onblur, 在里面设置activeElement
    在onfocus里设置activeElement后,
    调用onbeforedeactivate
    如果onbeforedeactivate返回false,则设置focus为原来的控件!
    在控件失去焦点前,设置lastObj=this
    在控件获得焦点时,先判断lastObj是什么