easyui-datetimebox 控件绑定双击事件实现自动选中当前日期时间
本方法是在不改变原 js 的情况下,通过扩展方法来实现本目的
首先在 datetimebox 控件中扩展一个 绑定双击事件 的方法
1 $.extend($.fn.datetimebox.methods, { 2 //绑定双击事件方法 3 bindDblClick: function (jq) { 4 var panel = $(jq).combo("panel"); 5 panel.find(".datebox-calendar-inner").off("dblclick").on("dblclick", function (e) { 6 var calendar = $(jq).datetimebox("calendar"); 7 var spinner = $(jq).datetimebox("spinner"); 8 var current = calendar.calendar("options").current; 9 10 var year = current.getFullYear(); 11 var month = current.getMonth() + 1; 12 var date = current.getDate(); 13 var time = spinner.spinner("getValue"); 14 15 var datetime = year + "-" + month + "-" + date + " " + time; 16 17 $(jq).datetimebox("setValue", datetime); 18 19 $(jq).combo("hidePanel"); 20 }); 21 } 22 });
然后在 datetimebox 控件中的 onShowPanel 事件中 进行绑定双击事件
1 $.extend($.fn.datetimebox.defaults, { 2 onShowPanel: function () { 3 $(this).datetimebox("bindDblClick"); 4 } 5 });
注意:上述两个 扩展必须 放在 加载 datetimebox 控件 之前。
该方法是在 easyui-1.7.0 版本的基础上 开发出来的。
2020-01-03 之前发布的 存在 一个 bug 当月份改变后双击将失效,修改后 又存在一个瑕疵,但不影响使用