0

特定のパネルを「ドラッグ可能」にすると、ドラッグ終了イベントのリスナーはありますか? 初期設定で「ドラッグ可能」属性を有効にすることで、別のパネル内でパネルをドラッグ可能にできることがわかりましたが、ドラッグが発生したときにイベントをキャプチャしたいと思います。ドキュメントを見ると、「ロード」などのリスナーを追加できることがわかりますが、リッスンできるサポートされているすべてのイベントのリストは表示されません。これは構成で処理できますか、それとも addListener() を使用する必要がありますか? いずれにせよ、構文は何ですか?ドキュメントを使用してこれを理解するにはどうすればよいですか? ドラッグ可能なパネルがコンテナーの周りを移動するたびに、関数を起動できるようにしたいと思います。ありがとう。

var panel = Ext.create('Ext.tree.Panel', {
     draggable: true,
     width: 200,
     height: 200,
});

こんなことができたらいいなと思っていたのに…

var panel = Ext.create('Ext.tree.Panel', {
    draggable: true,
    width: 200,
    height: 200,
    listeners: {            
       dragging: function(e) { 
           // being dragged
       },
       dropped: function(e) { 
           // dropped
       },
});
4

3 に答える 3

2

この場合、リスナーでこれを行うことはありません。オーバーライドできるテンプレート メソッドは 4 つあります。

したがって、次のようにできます。

var panel = Ext.create('Ext.tree.Panel', {
     draggable: {
         onDrag: function(e) {
              // do what you like
         },
         onEnd: function(e) {
              // do what you like
         }
     },
     width: 200,
     height: 200,
});

引数eが event-Object であることに注意してください

于 2012-11-15T08:08:50.377 に答える
1

Ext.window.Windowドラッグが開始される直前にコンポーネントを変更しようとしていますが、sencha フォーラムで、draggableウィンドウがdragstartイベントをリッスンしていることがわかりましたPanel

私はこのコードを使用しました:

listeners: {
    dragstart: function() {
        console.log('we are starting the drag');
    }
}

そして魅力のように働きました。Ext JS 4.1.0を使用して、私のアプリでここで動作します

moveドラッグの終わりについては、 のイベントがExt.window.Windowニーズに合っていることがわかりました。

于 2013-07-30T21:53:19.960 に答える