Axure技巧:單擊和長按交互沖突解決方法

13 評論 9761 瀏覽 28 收藏 3 分鐘

看見標題的時候我知道你一定不相信,明明交互動作里有鼠標單擊時也有鼠標長按時,怎么會有沖突呢?實際上長按后兩個交互都會觸發(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é)議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. Axure 8最新版實測,一個元器件設置點按和長按兩個動作,并不會出現(xiàn)這個問題。

    來自北京 回復
    1. 但是拖拽會出現(xiàn)和長按沖突

      來自北京 回復
    2. 是8.1.0.3375嗎?還是測試中的最新版本?我這個就是3375做的哦~

      來自北京 回復
    3. 我用的3372。

      之前設置錯了,拖拽頁眉發(fā)現(xiàn)問題,你看看。

      https://ryuh2r.axshare.com

      來自北京 回復
    4. https://uva7p9.axshare.com
      我做了一個,你看下吧。

      來自北京 回復
    5. 應該可以通過dragX函數(shù)解決

      來自北京 回復
  2. 感謝分享 但是標題里的Axure寫錯了~

    來自遼寧 回復
    1. 標題不是我寫的,是編輯寫的 ? 我也沒辦法~

      來自北京 回復
  3. 可以設置初始變量值==0,單擊時候,判斷變量值為0時候觸發(fā)A事件,同時改變變量值變?yōu)?,長按的時候,判斷值為1觸發(fā)B事件,在同一個按鈕沖突的情況下,用變量來解決沖突問題,我一年前就在用咯,文章很棒,希望你的文章能幫助更多的人 ??

    來自福建 回復
    1. 老鐵穩(wěn) 。

      來自上海 回復
    2. 哈哈,何出此言哈 ??

      來自福建 回復
  4. 666

    來自浙江 回復