(续)ie浏览器插件bootstrap-datetimepicker不能使用问题

昨天改好的js,测试是没问题了。

今天给测试MM看时,打开了一个有两个以上的datetime控件是时,再次失控了,我的内心几乎是崩溃的...

仔细一下,原来是body里的那段脚本,会把每个datetime都blur一次,这样计数器就乱了,无法正常工作了。

害我今天又弄了大半天,现在终于搞定了。

再次修改方案如下:

head中


if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0)){
        $('body').click(function(e){
            
            if(e.target.className.indexOf('form_datetime')>-1){
                $('#idatetimecontrol').val(e.target.uniqueNumber);
            }else{
                $('#idatetimecontrol').val(0);
            }
            $('.form_datetime').blur();
            
        });

    }
bootstrap-datetimepicker.js中修改如下:
在文件头加个Hidden控件保存e.target.uniqueNumber:
line 1
if($('#idatetimecontrol').length<1){
    $(document.body).append('<input type="hidden" id="idatetimecontrol" value="0"/>');
}
line 77 在初始化中加:

var iearray = new Array();
    $('.form_datetime').each(function(index,e){
        iearray[e.uniqueNumber] = 0;
    });
    var dpgId = 0,ieflag = 0,

line 1270修改 picker.hide = function (e) {

if ((navigator.userAgent.indexOf('MSIE') >= 0) 
                && (navigator.userAgent.indexOf('Opera') < 0)){
//                alert('你是使用IE');
                //是否保存过
                ieflag = e.target.uniqueNumber;
                if(isNaN(iearray[ieflag])){
                    iearray[ieflag] = 1;
                }else{
                //点击进来则+1
                    iearray[ieflag] = iearray[ieflag] + 1;
                }
                var ie = $('#idatetimecontrol').val();
                ie = parseInt(ie);
                //判断当前点击的datetime
                if(ie != ieflag){
                    iearray[ie] = 0;
                }
                //超过2次,或者当前为取消操作
                //a,b两控件,
                //点a顺序为:b/a,a/b
                //点b顺序为:a/b,a/b
                if(iearray[ieflag] > 1 || ie == 0){
                    picker.widget.hide();
                    iearray[ieflag] = 0;
                }
            }else{
                picker.widget.hide();
            }

这下ok了!
 


本博客所有文章如无特别注明均为原创。作者:zz复制或转载请以超链接形式注明转自 沉思录
原文地址《(续)ie浏览器插件bootstrap-datetimepicker不能使用问题

相关推荐

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)