ionic3 press长按事件和 tap点击事件冲突

现在的业务需求:点击图片可以查看,长按图片可以保存


Ionic3中如果给一个元素同时绑定tap事件和press事件的话,我们会发现tap事件和press事件冲突。使用press事件,第一次点击图片会同时触发长按事件。


解决办法:大部分都是解决click延迟问题,通过google找到了解决办法,现在分享



方法一 把ionic的tap事件和press事件颠倒

原代码
<ion-item (tap)="itemTapped()" (press)="itemPressed()">
...
</ion-item>

修改后代码, 亲测好用原理未知
<ion-item  (press)="itemPressed()" (tap)="itemTapped()">
...
</ion-item>

方法二 ionic的tap事件和press事件同时绑定的时候调用stopPropagation()方法


估计好用,没有测试
<button ion-button (tap)="deletePrivateDiscussion(discussionItem); $event.stopPropagation()" color="danger" small [hidden]="hideDeleteButtons">