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 当月份改变后双击将失效,修改后 又存在一个瑕疵,但不影响使用

posted @ 2019-09-25 17:18  伟宇凌风  阅读(943)  评论(0编辑  收藏  举报