问题:双击某个对象,在鼠标位置显示一块工具栏
解决:见代码
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 },