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

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

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

针对的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) { }
        }
    }

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

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