bootstrap-datetimepicker插件获取input的menu 防止不停的往body里制造日历模板

正文开始

初始化时距离

 var inputObj = $('.demo_input').datetimepicker({
                                    language: setLang,
                                    bootcssVer: 3,//解决箭头不显示的版本问题
                                    format:  setDateFormat,
                                    daysOfWeekDisabled: [],   //星期几不可选
                                    forceParse: true,         //是否强制转换不符合格式的字符串
                                    keyboardNavigation: false, //是否显示箭头导航
                                    weekStart: 0,
                                    autoclose: 1,
                                    todayHighlight: false,
                                    startView: 'month',
                                    minView:'month',
                                    maxView:'month',
                                }).on('click', function(e){
                                    e.currentTarget.blur();
                                    $('.datetimepicker').css("z-index", window.zIndex+1);
                                }).on('change', function () {
                                    var datetime1 = $(this).val();
                                    console.log('datetime1', datetime1);
                                });
                                console.log('inputObj', inputObj);

inputObj就是$('.demo_input')对象 假如在弹窗里初始化日历,则每次打开弹窗初始化日历都会产生重复的菜单menu。 如何获取每个input的菜单,能让弹窗关闭的时候自动删除这些菜单? 答案: inputObj.data('datetimepicker').picker;

如何手动移除渲染的日历层:

//1 定义缓存数组
window.riliMenus = [];//缓存日历菜单,关闭弹窗时自动移除 防止产生多个menu
//渲染插件时 写入缓存
window.riliMenus.push(inputObj.data('datetimepicker').picker);
//在弹窗关闭时 遍历移除即可
 onClose: function () {
     if(window.riliMenus) {
         $.each(window.riliMenus, function (n, v) {
             v.remove();
         })
     }
 }

正文结束

js 正则替换返回值做回调函数 苹果浏览器下js对焦输入框后,小键盘打字会丢焦的bug