flash 中用单击事件区别处理双击和单击
发布时间:2020-12-15 06:50:55 所属栏目:百科 来源:网络整理
导读:flash 虽然自己有双击事件,但是跟所有的双击事件一样,触发之前会先触发一个单击, 这对于视频播放器中单击暂停/继续,双击全屏的操作会造成干扰,? 遂用单击模拟,处理两种事件,代码如下: private var _dbTimeoutId:int = 0;private var _isClicked:Boolean = fa
flash 虽然自己有双击事件,但是跟所有的双击事件一样,触发之前会先触发一个单击, 这对于视频播放器中单击暂停/继续,双击全屏的操作会造成干扰,? 遂用单击模拟,处理两种事件,代码如下: private var _dbTimeoutId:int = 0; private var _isClicked:Boolean = false; film.addEventListener(MouseEvent.CLICK,function(evt:MouseEvent):void { ? ? if (_isClicked) ? ? { ? ? ? ? // double click ? ? ? ? _isClicked = false; ? ? ? ? clearTimeout(_dbTimeoutId); ? ? ? ?? ? ? ? ? if (stage.displayState == StageDisplayState.FULL_SCREEN) ? ? ? ? { ? ? ? ? ? ? stage.displayState = StageDisplayState.NORMAL; ? ? ? ? } ? ? ? ? else ? ? ? ? { ? ? ? ? ? ? stage.displayState = StageDisplayState.FULL_SCREEN; ? ? ? ? } ? ? } ? ? else ? ? { ? ? ? ? // single click ? ? ? ? _isClicked = true; ? ? ? ? _dbTimeoutId = setTimeout(function():void ? ? ? ? ? ? { ? ? ? ? ? ? ? ? _isClicked = false; ? ? ? ? ? ? ? ? film.togglePause(); ? ? ? ? ? ? },350); // 350 ms 内认为是双击 ? ? } }); 另外多谢 @我佛山人 的提醒,类似 FileReference.browse() 这种必须靠用户行为触发的操作,不适用这个方法,这个实际上是 SetTimeout 调用了单击方法.?所以这还是有一点点局限性的 :D (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |