次の問題があります。ノード内のデータがAJAXでフェッチされるように、必要に応じて折り畳んで展開できるサブノードを持つ大きなツリーがあります。しかし、私はjquery.event.drop/dragを使用してドラッグ/ドロップターゲットを作成します。js/jQuery Drag'n'Drop、ドロップターゲットを再計算
しかし、私は折りたたんだ/開いてドロップターゲットの位置を変更し、私は再計算する必要があります。これは私がそれをしたいと思った方法です:
function create_drop_targets() {
$('li a')
.bind('dropstart', function(event) {
})
.bind('drop', function(event) {
})
.bind('dropend', function(event) {
});
}
fold_number/unfold時にcreate_drop_targets()が呼び出されます。
ただし、これは機能しません。私が見つけたjquery.event.drop以内に次
var drop = $.event.special.drop = {
setup: function(){
drop.$elements = drop.$elements.add(this);
drop.data[ drop.data.length ] = drop.locate(this);
},
locate: function(elem){ // return { L:left, R:right, T:top, B:bottom, H:height, W:width }
var $el = $(elem), pos = $el.offset(), h = $el.outerHeight(), w = $el.outerWidth();
return { elem: elem, L: pos.left, R: pos.left+w, T: pos.top, B: pos.top+h, W: w, H: h };
}
は今、私はそれがdroppablesのための新しい位置に$の要素を再生成して、私は再びセットアップ()メソッドを呼び出すことができる方法を知っておく必要があります。
バージョン1.3のライブイベントでこれを試しました。2、解決策はありません。 – ikanobori