加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读