Javascript 离子2**panup**和**pandown**事件不工作
我正在从事离子2项目,我想实现拖放功能。为此,我在《离子2》中使用了贝娄事件Javascript 离子2**panup**和**pandown**事件不工作,javascript,typescript,ionic-framework,ionic2,hammer.js,Javascript,Typescript,Ionic Framework,Ionic2,Hammer.js,我正在从事离子2项目,我想实现拖放功能。为此,我在《离子2》中使用了贝娄事件 <div (press) = "onDragInit(item, $event)" (panstart)="dragStart($event)" (panup)="onDrag($event)" (pandown)="onDrag($event)" (panend)="onDragEnd($event)" (pressup)="pressUpEvent
<div (press) = "onDragInit(item, $event)"
(panstart)="dragStart($event)"
(panup)="onDrag($event)"
(pandown)="onDrag($event)"
(panend)="onDragEnd($event)"
(pressup)="pressUpEvent($event)">
</div>
我找到了解决办法。Angular 2提供了一个名为HAMMER_手势_配置的令牌,该令牌接受HammerGestureConfig类型 用最简单的方法,我们可以像这样扩展HammerGestureConfig //覆盖默认的hammer.js设置
import { HammerGestureConfig } from "@angular/platform-browser";
export class MCrewHammerConfig extends HammerGestureConfig {
public overrides = {
"pan": { direction: 30 },
"press": { time: 300 }
};
}
并将其添加到提供者
providers: [
{ provide: HAMMER_GESTURE_CONFIG, useClass: MCrewHammerConfig },
]
有关更多详细信息。您是否可以添加触发事件的.ts页面?在稍后的Ionic2版本中,它似乎有所改变。这过去是有效的,但现在在平移事件中event.center X和Y始终为零,因此无法从我所看到的内容中准确知道平移坐标的最终位置。我还注意到,如果我收听任何平移事件,如果我在上下平移之前单击并向左或向右平移,则会将event.center坐标设置为向右,但如果我只是点击,然后立即上下平移,就永远不会。很奇怪。似乎ionic2出于某种原因正在吞噬这些事件。仍然不适合我,可能是因为我不知道的浏览器滚动。panup工作2次,pandowe事件工作3次,然后停止!!!
providers: [
{ provide: HAMMER_GESTURE_CONFIG, useClass: MCrewHammerConfig },
]