2017-03-06 120 views
2

我正在尋找很多論壇和問題,但似乎沒有人會問如何雙擊or Angular/ionic 2中的雙擊?雙擊/雙擊Angular2&ionic

離子V1是可用on-double-tap(見http://ionicframework.com/docs/api/directive/onDoubleTap/

有誰也許有尖頭或任何代碼捉對離子2/2角雙擊事件?

也許通過HammerJS?

非常感謝! 路易斯:)

+0

不知道雙擊..但我覺得你可以考慮[新聞事件](http://ionicframework.com/docs/v2/components /#手勢) –

+0

我發現它..相對容易:(dblclick)=「myFunction()」從https://en.wikipedia.org/wiki/DOM_events#Events :) – luiswill

+0

好的..不太確定它會如何在移動設備上有用 –

回答

4

所以1-2個小時,很明顯,你並不需要趕上與離子雙擊事件後,而是純粹的的JavaScriptdblclick()

所以在角2這將是:(dblclick)="myFunction()"就是這樣!

在這裏您可以找到JavaScript的其他活動。

+1

這似乎不適用於移動設備(在iOS中測試) – shakirthow

+0

無法在移動iOS上使用 –

0

Ionic 2有基本的手勢,可以從HTML訪問。 應該可以在iOS和Android上使用。 你可以找到documentation here

它們提供的源代碼is here

0

要使用相同的按鈕進行簡單的單擊和雙擊,setTimeout函數可以提供幫助。它需要與箭頭執行=>一起使用。

html template

<button (click)="simpleClickFunction()" (dblclick)="doubleClickFunction()">click me!</button> 

Component

simpleClickFunction(): void{ 
    this.timer = 0; 
    this.preventSimpleClick = false; 
    let delay = 200; 

    this.timer = setTimeout(() => { 
     if(!this.preventSimpleClick){ 
     //whatever you want with simple click go here 
     console.log("simple click"); 
     } 
    }, delay); 

    } 

    doubleClickFunction(): void{ 
    this.preventSimpleClick = true; 
    clearTimeout(this.timer); 
    //whatever you want with double click go here 
    console.log("double click"); 
    }