是否可以推迟datepicker / datetimepicker的初始化直到输入的焦点?

时间:2013-07-05 09:05:11

标签: jquery performance optimization smalot-datetimepicker

我的屏幕上有相当多的日期/时间选择器,这对于低功率机器的性能(客户端)而言正在挣扎。我想知道是否有办法推迟加载日期选择器,直到用户关注文本输入为止?

我正在使用此日期/时间选择器:https://github.com/smalot/bootstrap-datetimepicker/

目前在页面加载时我使用'datetimepicker'类初始化每个输入上的datetimepciker,但这当然会导致一个重要的DOM修改,我认为这会导致较低功率的机器“冻结”呈现页面。 / p>

更新

以下是我最终用来解决此问题的方法:

$('input.datepicker').focus(function(){
    $(this).datetimepicker(pickerOptsGeneral);
    $(this).datetimepicker('show');
    $(this).on('changeDate', function(ev){
        // Do stuff
    }).on('hide', function(){
        $(this).datetimepicker('remove');
    });
});

1 个答案:

答案 0 :(得分:0)

当文本输入具有焦点时,您可以初始化日期选择器。

$('input').focus(function(){
// init datepicker
})