為什麼捐款
API 瀏覽器
Touch Hold 指令

Quasar 提供全功能 Vue 指令,可以完全取代像 Hammerjs 這樣的函式庫:v-touch-panv-touch-swipev-touch-hold 甚至 v-touch-repeat

這些指令也適用於滑鼠事件,而不僅僅是觸控事件,因此您也可以在桌面上為您的應用程式建構酷炫的功能。

我們將在以下幾行描述 v-touch-hold 指令。

載入 TouchHold API...

用法

基本



預設等待時間為 600 毫秒,但您可以變更它

自訂等待時間



提示

TouchHold 也針對觸控事件預設靈敏度為 5 像素,滑鼠事件為 7 像素,這表示它允許手指或滑鼠稍微移動而不會中止,從而改善使用者體驗。

不過,您也可以變更此靈敏度(請注意以下指令參數 - 600:12:15 - 600 毫秒等待時間,觸控事件靈敏度 12 像素,滑鼠事件靈敏度 15 像素)

自訂靈敏度



處理滑鼠事件

當您也想要處理滑鼠事件時,請使用 mouse 修飾符

<div v-touch-hold.mouse="userHasHold">...</div>

抑制 TouchHold

當您想要抑制 TouchHold 時,可以透過停止從內部內容傳播 touchstart / mousedown 事件來達成。

<div v-touch-hold.mouse="userHasHold">
  <!-- ...content -->
  <div @touchstart.stop @mousedown.stop>
    <!--
      TouchHold will not apply here because
      we are calling stopPropagation() on touchstart
      and mousedown events
    -->
  </div>
  <!-- ...content -->
</div>

不過,如果您使用 capturemouseCapture 修飾符,事件會先到達 TouchHold 指令,然後才到達內部內容,因此 TouchHold 仍會觸發。

關於 HMR 的注意事項

由於效能考量,並非所有修飾符都是響應式的。有些修飾符需要重新整理視窗/頁面/元件才能更新。請查看 API 卡片以了解未標記為響應式的修飾符。