日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

jQuery关于鼠标事件mouseDown和doubleClick运行冲突的问题解决

發布時間:2023/12/15 综合教程 24 生活家
生活随笔 收集整理的這篇文章主要介紹了 jQuery关于鼠标事件mouseDown和doubleClick运行冲突的问题解决 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先,現在有一個需求是在一個對象上監聽mouseDown和mouseDoubleClick事件,兩種事件對應不同的解決方案,鼠標按下執行拖拽功能,鼠標雙擊是釋放技能功能。但是問題來了,不管Click幾次,肯定是down先觸發,不管如何都是down觸發。

然后呢,我問了一高手,他說,可以推遲按下的處理函數,推遲200ms(因為大概在200ms內算雙擊),在這200ms內,有雙擊了,就先執行雙擊事件,并且要把原本雙擊事件的處理函數跟按下的處理函數一起寫在mouseDown里。我這樣做了,還是出錯。因為,即使推遲了執行按下的函數,可最終還是要執行按下的函數(就是先執行原來雙擊事件,在執行推遲200ms的按下函數)。

所以,問題就是:我怎么讓down函數知道我到底執行的是拖拽還是釋放呢?
我覺得這像死鎖功能,一個功能執行完了,那在這個對象上的那個功能就不能執行了。啊啊啊,想的頭都大了,還是想不出來!

大家雖然熱心提供了方法,我也一一試了,但是還是解決不了我的需求,可能因為我沒有把需求徹底說清楚吧,現在提供一張我自己總結的,這個問題可能的流程圖:

其實也不一定是兩兩排斥的,因為畢竟市面上那么多頁游的背包都是這樣做的了···
給個思路:在UP事件的處理函數中做下判斷,如果鼠標還在背包,就彈出二級菜單,如果鼠標已經不在背包,就是拖拽操作。

doubleClickEnabled = true;要雙擊的對象只有設置為true,才能偵聽到鼠標雙擊事件,也才能將單擊和雙擊事件區分出來,如果兩次單擊相隔時間很小,會被視為雙擊
看看這個有沒有漏掉

拖拽除了單擊之外還有一個特征,即單擊后鼠標出現移動。
滿足如下條件即判斷為“釋放”:
有正在拖拽的物體,單擊一次鼠標,在300ms內再單擊一次鼠標,第二次單擊時的位置與第一次單擊時的位置相差不到5像素(手滑誤差)

其它的行為,
根據是否已經有拖拽物來判定為
“拖拽”
或者
“無效操作”

你那位高手說的對啊,當得到mouseDown后給一個延時,
200ms內得到第二個mouseDown事件則是釋放了,就取消延時后的拖拽事件
200ms后沒收到第二個mouseDown且也沒收到mouseUp事件那就拖拽唄;

而且不一定非要這么做啊
可以把對象細分下嘛,對象邊框只響應拖拽事件,
對象中間只響應釋放事件

或者把對象拖到界面外釋放對象,什么的。。。
如果客戶執著就沒辦法了

package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;

/**
* ...
* @author 小松626
*/
public class Main extends Sprite
{
private var _mc:Sprite;
private var date2Time:Number;
private var date1:Date;
private var date1Time:Number;
private var date2:Date;

public function Main():void
{
if (stage)
init();
else
addEventListener(Event.ADDED_TO_STAGE, init);
}

private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
creatMc();
_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragMouseDownHandler);
}

private function creatMc():void 
{
_mc = new Sprite();
_mc.graphics.beginFill(0xff0000);
_mc.graphics.drawCircle(0, 0, 20);
_mc.graphics.endFill();
addChild(_mc);
_mc.x = 50;
_mc.y = 50;
}

private function dragMouseDownHandler(e:MouseEvent):void
{
_mc.startDrag(false); 
date1 = new Date();
date1Time = date1.time;
stage.addEventListener(MouseEvent.MOUSE_UP, dragMouseUpHandler); //鼠標抬起偵聽事件
}

/*
* 鼠標抬起偵聽事件函數
*/
private function dragMouseUpHandler(e:MouseEvent):void
{
stage.removeEventListener(MouseEvent.MOUSE_UP, dragMouseUpHandler); //鼠標抬起偵聽事件(移除) 
date2 = new Date();
date2Time = date2.time;
if (date2Time - date1Time > 100)
{
_mc.stopDrag(); //停止拖拽
}
else
{
_mc.doubleClickEnabled = true;
_mc.addEventListener(MouseEvent.DOUBLE_CLICK, mcDoubleClickHandler);
}
}

private function mcDoubleClickHandler(e:MouseEvent):void 
{
trace("雙擊mc");
}

}

}

登錄后復制

加一個true或false的判斷,表示是否剛發生過雙擊。如果剛發生過雙擊(雙擊事件發生時,設其為true),200ms后就不執行原先的單機函數,只把那個變量重新設為flase。

以上就是jQuery關于鼠標事件mouseDown和doubleClick運行沖突的問題解決的詳細內容,更多請關注風君子博客其它相關文章!

總結

以上是生活随笔為你收集整理的jQuery关于鼠标事件mouseDown和doubleClick运行冲突的问题解决的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 人人爽人人射 | 久久久久精彩视频 | 日韩va在线| 日韩精品在线观看中文字幕 | 麻豆一区产品精品蜜桃的特点 | 欧美一级视频免费 | aa一级片 | 国产精品成人久久久久久久 | 波多野结衣毛片 | 天天操人人 | 成人做爰www看视频软件 | 亚洲精品高清在线 | 欧美69久成人做爰视频 | 农村村妇真实偷人视频 | 992tv在线成人免费观看 | 成人性生活视频 | 国产精品一二三 | 97人人爽人人 | 国产欧美日韩专区发布 | 91极品视觉盛宴 | 色97 | av中文字幕av | www.天天干 | 中文字幕有码在线视频 | 亚洲一区二区自拍偷拍 | 国产精品高潮呻吟久久av黑人 | 日韩极品在线观看 | 亚洲男女在线 | 中国国产毛片 | 欧美色图五月天 | 亚洲免费av网址 | 久久久久亚洲av片无码下载蜜桃 | 亚洲拍拍视频 | 国产在线你懂得 | 中文av资源 | 在线观看免费国产 | 日韩精品成人一区 | 91免费视| 日日射影院| 国产婷婷色一区二区在线观看 | 殴美一级片 | 黄色成年人视频 | 蜜桃视频日韩 | 91视频www| 亚洲精品一区在线 | 久久久久久婷 | 天天尻 | 亚洲精品乱码久久久久久蜜桃麻豆 | 四虎影视www在线播放 | 高h喷水荡肉少妇爽多p视频 | 九九热国产 | 久久久久久久久久久久久女过产乱 | www.日| 久久99网站 | 99精品福利 | 天堂av2021 | 黄色一级视频在线观看 | 免费av网站在线观看 | 国产精品久久视频 | 欧美在线一区二区视频 | 欧美久操 | 日韩精品你懂的 | 亚色影库 | 波多野结衣加勒比 | 亚洲av区无码字幕中文色 | 成人午夜免费在线观看 | 天堂少妇| 日本欧美精品 | 少妇又色又紧又爽又刺激视频 | 最近中文字幕mv | 无码精品人妻一区二区三区影院 | 亚洲特黄特色 | 老司机深夜网站 | 岛国中文字幕 | 成人久久久精品乱码一区二区三区 | 国产精品无码一区二区无人区多人 | 伊人成人在线观看 | 91啦中文| 真人毛片97级无遮挡精品 | 亚洲精品大片www | 在线观看成人小视频 | 色小说综合 | 亚洲高清二区 | 天天狠天天插天天透 | 在线中文视频 | 免费三片在线观看网站v888 | 日本爱爱网址 | 国产精华一区二区三区 | 美女户外露出 | 亚洲精品视频免费看 | 自拍毛片 | 中文字幕在线观看二区 | 欧美成人做爰大片免费看黄石 | 三级中文字幕 | 亚洲综合伊人久久 | 又爽又黄视频 | 亚洲一本二本 | 邻居交换做爰2 | 日韩精选视频 |