明らかにこのバージョンのExtにはバグがあります。それは文句を言わないあなたは、このようなパネルのデフォルトD'n'Dをしようとした場合でも動作します。私はあなたがそれを望むように動作するようにコードにパッチを適用するメナージュ
Ext.onReady(function() {
var panel = new Ext.Panel({
renderTo: 'divtag',
draggable: true,
title: 'Panel',
width: 200,
height:100,
x: 20,
y: 20
}); //panel.show(); });
});
、このコードは動作するはずです:
Ext.onReady(function() {
var panel = new Ext.Panel({
renderTo: 'divtag',
draggable: {
insertProxy: false,
onDrag: function(e) {
var el = this.proxy.getEl();
this.x = el.getX();
this.y = el.getY();
},
endDrag: function(e) {
panel.setPosition(this.x,this.y);
},
alignElWithMouse: function() {
panel.dd.superclass.superclass.alignElWithMouse.apply(panel.dd, arguments);
this.proxy.sync();
}
},
title: 'Panel',
width: 200,
height:100,
x: 20,
y: 20
}); //panel.show(); });
});
あなたが使用できるパネルに独自のDDを定義することができ、さらに優れたExtが既に定義済みであるため、ExtパネルをオーバーライドしてデフォルトのExt.util.ComponentDraggerを使用することができるので、 、またはコードで、私はあなたにこれを行うよう助言します:
Ext.override(Ext.panel.Panel, {
initDraggable: function() {
var me = this,
ddConfig;
if (!me.header) {
me.updateHeader(true);
}
if (me.header) {
ddConfig = Ext.applyIf({
el: me.el,
delegate: '#' + me.header.id
}, me.draggable);
// Add extra configs if Window is specified to be constrained
if (me.constrain || me.constrainHeader) {
ddConfig.constrain = me.constrain;
ddConfig.constrainDelegate = me.constrainHeader;
ddConfig.constrainTo = me.constrainTo || me.container;
}
me.dd = Ext.create('Ext.util.ComponentDragger', this, ddConfig);
me.relayEvents(me.dd, ['dragstart', 'drag', 'dragend']);
}
}
});
var panel = Ext.create('Ext.panel.Panel', {
id: 'test',
renderTo: 'divtag',
draggable: true,
floating: true,
title: 'Panel',
width: 200,
height:100,
x: 20,
y: 20
});
initDraggable
のコードは、現在の安定版のExt.window.Window.initDraggableメソッドから取得しました。
I、コンポーネントではなく、パネルが正常に動作:(とエラーをスローするコード次の試み:キャッチされない例外TypeError:オブジェクト[オブジェクトのオブジェクト] \t新しいない方法「ensureAttachedToBody」 'Ext.onReady(関数(){ありませんExt.Component({ \t \t制約:真、 \t \tタイトル: 'テスト'、 \t \tフローティング:真、 \t \tスタイル:{ \t \t \tのbackgroundColor: '#FFF' \t \t \t境界 '1ピクセルベタ黒' \t \t}、 \t \t HTML: '
表題
コンテンツ
' \t \tドラッグ:{ \t \t \t \t \t \tデリゲート:this.body \t \t} \t})を表示();。 }); ' – Shruti