1
に動作していません。そのために、私はこの問題は、panupとイベントは初めてのために働いていないpandownあるイオン2 ** panup **と** pandown **イベントは、私はイオン2プロジェクトに取り組んでいると私はドラッグを実装し、機能をドロップしたい
<div (press) = "onDragInit(item, $event)" (panstart)="dragStart($event)" (panup)="onDrag($event)" (pandown)="onDrag($event)" (panend)="onDragEnd($event)" (pressup)="pressUpEvent($event)"> </div>
イオン2で怒鳴るイベントを使用しました。 私たちがを実行した場合、水平移動が最初に両方のイベントが正常に動作しています。 しかし、最初に垂直移動を行った場合、水平移動を行うまで、両方のイベントは機能しません。 誰もこの問題に直面していますか?
これは、私は、このための解決策を見つけた私の.TSファイル
public onDragInit(doc, event): void {
if(!doc.isSelected){
return;
}
// hide selected docs when start the drag
this.docs.forEach((doc: any) => {
if(doc.isSelected){
doc.dragging = true;
this.draggingDocs.push(doc);
}else{
doc.dragging = false;
}
});
this.dragPoint = this.getDragPoint(event.center.x, event.center.y);
this.docDragging = true;
this.destination = this.getDroppableDoc(event.center.x,event.center.y);
event.preventDefault()
}
public dragStart(event: any): void {
if(!this.docDragging){
return ;
}
event.preventDefault();
}
public onDrag(event: any):void {
if(!this.docDragging){
return ;
}
this.dragPoint = this.getDragPoint(event.center.x, event.center.y);
let placeForDrop = this.getDroppableCar(event.center.x, event.center.y);
if(placeForDrop != null && placeForDrop.doc != null){
this.destination = placeForDrop;
}
event.preventDefault();
}
public onDragEnd(event: any): void {
if(this.destination && this.destination.doc){
this.onDrop.emit({draggingDocs: this.draggingDocs,destination: this.destination});
}
this.cancelDragging();
event.preventDefault();
}
public pressUpEvent(event: any): void {
this.cancelDragging();
event.preventDefault();
}
イベントが発生している.tsページを追加できますか? –
これは、後のIonic2リリースで変更されたようです。これは以前から働いていましたが、event.center XとYはパンイベントでは常に0なので、パン座標がどこから見えるのか正確に知ることは不可能です。 – Johncl
私は、パンイベントを聞いてもパンやパンを上下に動かす前にクリックしてパンするとevent.centerの座標は正しく設定されますが、ただクリックしてすぐに上下にパンすると。非常に奇妙な。イオン2は何らかの理由でこれらの出来事を食べているようです。 – Johncl