2016-09-11 22 views
0

jstree dndプラグインを使用しています。 ドロップを許可するノードを設定するには、 "types"プラグインとvalid_childrenプロパティを使用しています。これは2つの異なるツリーの間でも機能します。JsTree:2つの異なるツリー間のドラッグアンドドロップを防止する

しかし、元のツリーとは異なるツリーにノードをドロップしないようにしたいので、は、マウスが別のツリーにあるときに緑の矢印を表示しません。

その解決策はありますか?

答えて

0

は実はjstreeするプラグインを追加することにより、非常に簡単な解決策を見つけた:

$.jstree.plugins.myplugin = function (options, parent) { 

    // Blocks DND on an other tree than the original one 
    this.check = function (chk, obj, par, pos, more) { 
     if(parent.check.call(this, chk, obj, par, pos, more) === false) { return false; } 
     if (more && more.dnd && more.is_multi) {return false} 
     return true; 
     }; 
    }; 

「チェック」機能は既に電位であるノードを定義するために「サイレント」と「タイプ」のプラグインにより使用されドロップする領域。また、緑色のチェックや赤い十字の表示も行います。 more.is_multiを使用すると、ターゲットが元のインスタンスとは異なるツリーインスタンスにある天気を検出できます。

次に、新しいjstreeインスタンスを作成するときにこのプラグインをプラグインのリストに追加することを忘れないでください。

関連する問題