1
有谁知道如何禁用ElFinder 2.x的拖放功能吗?据我所知,这不是通过初始化参数控制的(请随时仔细检查),但是我们删除了一些代码,它们负责拖放文件:ElFinder - 禁止拖放目录
从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);
}
})