目前项目收尾,开始对之前的,之前用的一个树节点的插件,只可以使用单击事件,无法使用双击事件,于是百度一下,自定义了一个双击事件,原理是通过两次时间差来定义,代码如下:

 1                 //最后一次触发节点Id
 2                 var lastSelectedNodeId = null;
 3                 //最后一次触发时间
 4                 var lastSelectTime = null;
 5 
 6         //在这里自定义双击需要实现的功能
 7                 function doubliclick(data){
 8                    
 9                 }
10 
11                 //clicknode单击事件
12                 function clickNode(event, data) {
13                     if (lastSelectedNodeId && lastSelectTime) {
14                         var time = new Date().getTime();
15                         var t = time - lastSelectTime;
16                         if (lastSelectedNodeId === data.nodeId && t < 500) {
17                             customBusiness(data);
18                         }
19                     }
20                     lastSelectedNodeId = data.nodeId;
21                     lastSelectTime = new Date().getTime();
22 
23                 }
24 
25                 //自定义双击事件
26                 function customDblClickFun() {
27                     //节点选中时触发
28                     $('#nodeselect').on('nodeSelected', function (event, data) {
29                         clickNode(event, data)
30                     });
31                     //节点取消选中时触发
32                     $('#nodeselect').on('nodeUnselected', function (event, data) {
33                         clickNode(event, data)
34                     });
35                 }
36 
37                 //调用双击事件的播放方法
38                 $(document).ready(function () {
39                     doubliclick();
40                 });
自定义双击实现的功能

相关文章: