Axure技巧:單擊和長按交互沖突解決方法
![](http://image.woshipm.com/wp-files/img/69.jpg)
看見標題的時候我知道你一定不相信,明明交互動作里有鼠標單擊時也有鼠標長按時,怎么會有沖突呢?實際上長按后兩個交互都會觸發(fā),所以,該如何解決?
如果一個元件上既有單擊交互,又有長按交互的時候,就會發(fā)生沖突,長按時2個交互都會觸發(fā)。如下面左圖:
我們希望的正常效果是右圖那樣的,感謝小樓老師提供了解決的思路,為了讓大家也理解思路,我給大家詳細講一下!
要想解決這個問題,就要先明白什么是單擊,什么是長按。
- 單擊:按下鼠標再松開鼠標,鼠標松開后觸發(fā)交互內容。
- 長按:按下鼠標達到一定時長后,觸發(fā)交互內容。
- 按時段分,整個流程可以分為2段:短按時段與長按時段。
- 按操作分,整個流程有2個操作:按下鼠標,松開鼠標。
開始之后,會同時執(zhí)行鼠標單擊時、鼠標松開時、鼠標長按時3個交互。
- 鼠標單擊事件觸發(fā):全局變量的初始值為0,按下鼠標后,如果還沒進入長按,就不會改變變量,那么此時變量依舊是0,松開鼠標后判斷變量是≠1的,所以觸發(fā)鼠標單擊事件。
- 鼠標長按事件觸發(fā):按下鼠并且進入長按時段后,設置變量為1,并且會觸發(fā)鼠標長按事件。松開鼠標后會去觸發(fā)鼠標單擊事件,可這個事件的條件是變量≠1,所以無法觸發(fā)。
最后,為了不影響下一次點擊時的交互,要在鼠標松開時將變量重置為0。
作者:Synmo夢兒,公眾號:夢話Axure
本文由 @Synmo夢兒? 原創(chuàng)發(fā)布于人人都是產品經理。未經許可,禁止轉載。
題圖來自 unsplash,基于 CC0 協(xié)議
評論
Axure 8最新版實測,一個元器件設置點按和長按兩個動作,并不會出現(xiàn)這個問題。
但是拖拽會出現(xiàn)和長按沖突
是8.1.0.3375嗎?還是測試中的最新版本?我這個就是3375做的哦~
我用的3372。
之前設置錯了,拖拽頁眉發(fā)現(xiàn)問題,你看看。
https://ryuh2r.axshare.com
https://uva7p9.axshare.com
我做了一個,你看下吧。
應該可以通過dragX函數(shù)解決
感謝分享 但是標題里的Axure寫錯了~
標題不是我寫的,是編輯寫的 ? 我也沒辦法~
可以設置初始變量值==0,單擊時候,判斷變量值為0時候觸發(fā)A事件,同時改變變量值變?yōu)?,長按的時候,判斷值為1觸發(fā)B事件,在同一個按鈕沖突的情況下,用變量來解決沖突問題,我一年前就在用咯,文章很棒,希望你的文章能幫助更多的人 ??
老鐵穩(wěn) 。
哈哈,何出此言哈 ??
666