My97的WdatePicker({dateFmt:'yyyy-MM'})兼容ie9

问题:My97在ie9格式化WdatePicker({dateFmt:'yyyy-MM'})出现都是1的情况,如下图:


针对的JS版本:My97 DatePicker 4.72 Release

原因:在 IE9 中,dom 节点宽高不知道为什么变成了 0,所以年月被隐藏了,只要想办法设置好宽高就可以正常显示了

解决办法:在$dp.dd.style.left=F+"px";的后面添加上下面代码即可,如果是不同的版本可能不一样,

不一样的地方包括变量名称(如:$dp.cal和$dp.dd)和dom节点的位置(如:childNodes[1],下面的是childNodes[2])

;var userAgent = navigator.userAgent;
    var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
    reIE.test(userAgent);
    var fIEVersion = parseFloat(RegExp['$1']);
    if ($dp.cal != undefined) {
        if (fIEVersion == 9 && $dp.cal.dateFmt == 'yyyy-MM') {
            try {
                var ifr = $dp.dd.childNodes[0].contentWindow.document.childNodes[0].childNodes[1].childNodes[2].childNodes[1];
                if (ifr) {
                    ifr.style.width = '180px';
                    ifr.style.height = '141px'
                }
            } catch (o) { }
        }
    }

最后的实现效果,太完美了<^_^>


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值