jequry插件 - 感应插件(配合拖拽控件使用)

本文介绍了一个基于jQuery的感应器插件实现方法,该插件可以为网页元素添加感应功能,当特定的拖拽对象进入感应区域时触发相应的事件。支持多种回调,包括进入、离开、移动和释放等。
(function($)
    {
        //感应器
        $.fn.induction = function(o){
            var def = {
                acceptObj:[],                                  //感应作用哪些拖拽对象
                onCallBack: function(e, p){},            //拖拽对象移动到感应区
                outCallBack: function(e, p){},           //拖拽对象离开感应区
                moveCallBack: function(e, p){},           //拖拽对象离开感应区
                downCallBack: function(e, p){}           //拖拽对象在感应区释放
            };
		    
            $.extend(def, o);
		    
            this.each(function(e){
                var $me = $(this);
                for(var i in def.acceptObj){
                    $m = def.acceptObj[i];
                    $m.dragdrop_AddInduction($me);
                }
                        
                $me.bind("addacceptobj", function(e, $m){
                    def.acceptObj.push($m);
                    $m.dragdrop_AddInduction($me);
                });
                
                        
                $me.bind("on_induction", function(e, p){
                    p.$induction = $me;
                    def.onCallBack(e, p);
                });
                $me.bind("out_induction", function(e, p){
                    p.$induction = $me;
                    def.outCallBack(e, p);
                });
                $me.bind("down_induction", function(e, p){
                    p.$induction = $me;
                    def.downCallBack(e, p);
                });
                $me.bind("move_induction", function(e, p){
                    p.$induction = $me;
                    def.moveCallBack(e, p);
                });
            });
        }
		
        $.fn.induction_AddAcceptObj = function($m){
            $(this).trigger("addacceptobj", [$m]);
        }
        $.fn.induction_OnInduction = function(e, p){
            $(this).trigger("on_induction", [p]);
        }
        $.fn.induction_OutInduction = function(e, p){
            $(this).trigger("out_induction", [p]);
        }
        $.fn.induction_DownInduction = function(e, p){
            $(this).trigger("down_induction", [p]);
        }
        $.fn.induction_MoveInduction = function(e, p){
            $(this).trigger("move_induction", [p]);
        }
    })(jQuery);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值