Ionic3でロングタップでもイベントを発火させるには

clickイベント、tapイベントは、タップのジェスチャーで発火してくれますが、ロングタップ・ロングプレスでは発火してくれません。

タップでもロングタップでも発火させる方法があったので、自分用のメモとして残しておきます。

正直に言って、スマートな方法ではありません。

他に良い方法があれば追記したいと思います。

pressupを使う

pressupイベント、tapイベント、この2つに登録してしまえば、タップでもロングタップでも、どちらでも発火します。

<button (pressup)="fire()" (tap)="fire()">タップでもロングタップでも発火</button>

ただし、注意点があります。

tapイベントとpressupイベントを記述する順序を、以下のように書くと、登録したイベントが2回発火してしまいます。

<button (tap)="fire()" (pressup)="fire()">タップしたら2回発火</button>

「pressupイベントの後にtapイベントを書く」ということを徹底しないといけないので、非常に危うい運用です。

なにかいい方法がないものでしょうか・・・。

人気記事すべて表示

ハイブリッドアプリすべて表示