问题:双击某个对象,在鼠标位置显示一块工具栏
解决:见代码
1 var pageX = params.event.event.pageX; 2 var pageY = params.event.event.pageY; 3 var node_operate_div = $('#node_operate_div')[0]; 4 node_operate_div.style.left = pageX + 'px'; 5 node_operate_div.style.top = pageY + 'px'; 6 node_operate_div.style.display = "block";
问题:在一个对象上绑定了单击事件和双击事件,总是会在触发双击事件之前触发两次单击事件,如何在双击事件的时候屏蔽掉单击事件?
解决:给单击事件一个延时执行函数(setTimeout必须为匿名函数),具体见下面代码
1 var TimeFn = null; 2 /** 3 * 鼠标单击事件(临时措施) 4 */ 5 handleOnceClickEvent:function(params){ 6 clearTimeout(TimeFn); 7 TimeFn = setTimeout(function(){ 8 //这里执行单击事件 9 },400); 10 }, 11 /** 12 * 鼠标双击某个节点(临时措施) 13 */ 14 handleDbClickEvent:function(params){ 15 clearTimeout(TimeFn); 16 //这里执行双击事件 17 },