皮皮网

皮皮网

【bc游戏竞猜源码】【电商时代小程序源码】【大秀直播源码带支付】onenddrag源码

时间:2024-11-19 03:21:05 分类:知识

1.nestable lists 如何禁止拖动
2.delphi的组件的dragover事件中的这两句怎么理解?

onenddrag源码

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源码的bc游戏竞猜源码Classes中声明着的

       TNotifyEvent = procedure(Sender: TObject) of object;

       也就是说你可以进行以下的操作

       procedure MyTestProc(Sender: TObject);

       begin

        //Sender可以是任意名称,只要类型为TObject就可以

        //与你自己写带参数的电商时代小程序源码函数一样

        do something;

       end;

       procedure Button1Click(Sender: TObject);

       begin

        ListBox1.OnEndDrag := MyTestProc;

        //只要是只有一个参数而且参数类型为TObject的函数都可以赋给ListBox1的OnEndDrag

       end;

       这样当触发ListBox的OnEndDrag事件时就会执行MyTestProc了

       不知这样写能看的明白吗