ElFinder 2.x のドラッグ アンド ドロップ機能を無効にする方法を知っている人はいますか? 私が知る限り、これは初期化パラメーターで制御できません (これを再確認してください)。しかし、ファイルのドラッグ アンド ドロップを処理する tree.js のコードをいくつか削除しました。
tree.js から:
/**
* Navigation tree
*
* @type JQuery
*/
tree = $(this).addClass(treeclass)
// make dirs draggable and toggle hover class
/* DISABLE DRAGGABLE
.delegate('.'+navdir, 'hover', function(e) {
var link = $(this),
enter = e.type == 'mouseenter';
if (!link.is('.'+dropover+' ,.'+disabled)) {
enter && !link.is('.'+root+',.'+draggable+',.elfinder-na,.elfinder-wo') && link.draggable(fm.draggable);
link.toggleClass(hover, enter);
}
})*/
// add/remove dropover css class
.delegate('.'+navdir, 'dropover dropout drop', function(e) {
$(this)[e.type == 'dropover' ? 'addClass' : 'removeClass'](dropover+' '+hover);
})
// open dir or open subfolders in tree
.delegate('.'+navdir, 'click', function(e) {
var link = $(
...... // rest of code ommitted
これにより、ファイルのドラッグ アンド ドロップが無効になりましたが、フォルダは無効になりました。そのために、cwd.js で別のデリゲートをコメントアウトしましたが、ダブルクリックしてフォルダーを開くイベントが台無しになりました。そのため、現在その問題に取り組んでいます。誰かがより良い解決策を持っている場合は、自由に共有してください。
cwd.js の 670 行目あたりの次の行をコメント アウトします。
.delegate(fileSelector, 'mouseenter.'+fm.namespace, function(e) {
var $this = $(this),
target = list ? $this : $this.children();
if (!$this.is('.'+clTmp) && !target.is('.'+clDraggable+',.'+clDisabled)) {
target.draggable(fm.draggable);
}
})