1.nestable lists 如何禁止拖动
2.delphi的组件的dragover事件中的这两句怎么理解?
nestable lists 如何禁止拖动
我改了下源码,加了个allowDrag的属性$("#showModuleInfo").nestable({ allowDrag:false}) //禁止拖拽
加了个refresh的方法,主要用在自己append节点的时候,前面的+-button能刷出来
$("#moduleInfo").nestable("refresh");//
这里传不了附件,把改动截图贴上来了,自己对着jquery.nestable.js改一下吧,框起来的是我动过的,没框的都是原来的
var defaults = {
listNodeName: 'ol',
itemNodeName: 'li',
rootClass: 'dd',
listClass: 'dd-list',
itemClass: 'dd-item',
dragClass: 'dd-dragel',
handleClass: 'dd-handle',
collapsedClass: 'dd-collapsed',
placeClass: 'dd-placeholder',
noDragClass: 'dd-nodrag',
emptyClass: 'dd-empty',
expandBtnHTML: '<button data-action="expand" type="button">Expand</button>',
collapseBtnHTML: '<button data-action="collapse" type="button">Collapse</button>',
group: 0,
maxDepth: 5,
threshold: ,
allowDrag:true
};
---------------------------------------
if(this.options.allowDrag){
list.el.on('mousedown', onStartEvent);
list.w.on('mousemove', onMoveEvent);
list.w.on('mouseup', onEndEvent);
}
--------------------------------------
refresh:function(){
var list=this;
list.el.find(list.options.itemNodeName).each(function() {
$(this).children('[data-action]').remove();
if($(this).find(list.options.listNodeName).children().length>0){
list.setParent($(this));
}else{
list.unsetParent($(this));
}
});
},
delphi的组件的dragover事件中的这两句怎么理解?
可以把ListBox1.OnEndDrag中的OnEndDrag看做一个特殊的变量
ListBox1.OnEndDrag:=ListBox1EndDrag 可以看做是对变量的赋值
与普通变量不同的是他们全是指针操作
OnEndDrag的类型为TNotifyEvent;
以下是TNotifyEvent类型的声明,在Delphi源码的sonic源码网址Classes中声明着的
TNotifyEvent = procedure(Sender: TObject) of object;
也就是说你可以进行以下的操作
procedure MyTestProc(Sender: TObject);
begin
//Sender可以是任意名称,只要类型为TObject就可以
//与你自己写带参数的vc 雷电源码函数一样
do something;
end;
procedure Button1Click(Sender: TObject);
begin
ListBox1.OnEndDrag := MyTestProc;
//只要是只有一个参数而且参数类型为TObject的函数都可以赋给ListBox1的OnEndDrag
end;
这样当触发ListBox的OnEndDrag事件时就会执行MyTestProc了
不知这样写能看的明白吗