解决flex click 和 double click的问题
来源:互联网 发布:潜意识的力量 知乎 编辑:程序博客网 时间:2024/04/28 11:07
//Copyright © 2008. Http://L4cd.Net All Rights Reserved.
package net.L4cd
{
import flash.display.*;
import flash.events.*;
import flash.utils.*;
/**
* 自定义双击事件类
*
* @author L4cd.Net
* @playerversion Flash player 9
* @langversion 3.0
* @version 2008-10-22 22:53
*/
public class iDoubleClick
{
static public var list:Array;
public function iDoubleClick()
{
}
/**
* 取消自定义双击事件.
*
* @param target 目标
*/
static public function disable(target:DisplayObject):void
{
if (!list) return;
if (!list[target]) return;
delete list[target];
target.removeEventListener(MouseEvent.CLICK, l4cd_click);
}
/**
* 启动自定义事件
*
* @param target 目标
* @param delay 判断为双击事件的延时,默认值为200毫秒
*/
static public function enable(target:DisplayObject,delay:uint = 200):void
{
if (!list) list = [];
target.addEventListener(MouseEvent.CLICK, l4cd_click, false, 10, true);
var obj:Object = {}
obj.l4cd_last_click = 0;
obj.l4cd_delay = delay;
obj.l4cd_timer = 0;
list[target] = obj;
}
static private function l4cd_click(e:MouseEvent):void
{
var target:Object = list[e.currentTarget];
if(target.l4cd_timer == -1){
target.l4cd_timer = 0
return;
}
if (getTimer() - target.l4cd_last_click < target.l4cd_delay)
{
clearTimeout(target.l4cd_timer);
target.l4cd_timer = 0;
target.l4cd_last_click = 0;
e.currentTarget.dispatchEvent(new MouseEvent(MouseEvent.DOUBLE_CLICK,e.bubbles,e.cancelable,e.localX,e.localY,e.relatedObject,e.ctrlKey,e.altKey,e.shiftKey,e.buttonDown,e.delta))
}else
{
clearTimeout(target.l4cd_timer);
target.l4cd_timer = setTimeout(l4cd_click_event, target.l4cd_delay + 5, e.currentTarget as DisplayObject, e);
target.l4cd_last_click = getTimer();
}
e.stopImmediatePropagation();
}
static private function l4cd_click_event(currentTarget:DisplayObject, event:Event):void
{
var target:Object = list[currentTarget];
target.l4cd_timer = -1;
currentTarget.dispatchEvent(event);
}
}
}
iDoubleClick.enable(Member(hashMember[k]).image,200);
- 解决flex click 和 double click的问题
- 如何解决click事件重复的问题?
- 关于flex里面mousedown 和click事件冲突问题的解决办法
- 关于flex里面mousedown 和click事件冲突问题的解决办法
- Double click 转成power之后的上报
- Qlistwiget double click edit
- 如何解决blur事件和click事件冲突问题?
- trigger('click') 失效的解决
- 关于click router 中“unknown element class”问题的解决。
- 手机端解决Click延迟300ms 的问题
- 解决动态生成input无法触发click事件的问题
- 解决动态生成input无法触发click事件的问题
- 完美解决angularjs的ng-click事件不起作用问题
- 解决click与hover(mouseover)的冲突问题
- .click() ie6 submit 的问题
- 反射+注解完美解决Android繁琐的byId和click
- 解决android view的touch和click事件冲突
- Javascript中让单击Click和Double Click双击事件各自独立
- DataGridView中对各种类型的单元格控件的事件处理(DataGridViewCheckBoxCell、DataGridViewComboBoxCell等的选定、事件触发)
- CSS让容器的溢出部分内容隐藏起来
- dwr
- backtrack3使用
- oh,yes.
- 解决flex click 和 double click的问题
- Weblogic8.14 启动报错--java.io.InvalidClassException: javax.management.MBeanAttributeInfo;
- 什么是博士?
- 高阶Java-Java注解 Java annotation 使用详解
- 日本iPhone免费供应GPS/AR技术游戏
- 从今天起开始涉足java的学习,记录学习的点滴
- [VB.Net]MD5/MD160/SHA1/SHA256/SHA384/SHA512/Base64-Encode/Base64-Decode
- linux下配置QT QMAKESPEC has not been set, so configuration cannot be deduced
- Spring注解来注入属性