jq给同一元素绑定多个事件

$(".aa").on("click",function(){
        alert(1)
    }).on("mousemove",function(){
        console.log(1);
    });
$(".aa").on({click:function(){
        alert(1)
    },mousemove:function(){
        console.log(2);
    }})

如果需要传参数,除定义全局变量,在方法中直接使用全局变量外,还可使用以下方法

$(".aa").on("click",{val:a},a1).on("mousemove",{val:b},a2);
    function a1(e){
        alert(e.data.val)
    }
    function a2(e){
        console.log(e.data.val)
    }

 通过delegate给同一元素绑定多个事件

复制代码
$("body").delegate(
            ".msg-layer",{
                mousedown: function (e) {
                    var el = $(".msg-layer");
                    var os = el.offset(),
                    dx = e.pageX - os.left, dy = e.pageY - os.top;
                    $(document).on('mousemove.drag', function (e) {
                        el.offset({top: e.pageY - dy, left: e.pageX - dx});
                    });
                },
                mouseup: function (e) {
                    $(document).off('mousemove.drag');
                }
            }
    );
复制代码
复制代码
$("body").delegate(
            ".msg-layer","mousedown mouseup",function(e){
                if(e.type == "mousedown"){
                    var el = $(".msg-layer");
                    var os = el.offset(),
                            dx = e.pageX - os.left, dy = e.pageY - os.top;
                    $(document).on('mousemove.drag', function (e) {
                        el.offset({top: e.pageY - dy, left: e.pageX - dx});
                    });
                }else if(e.type == "mouseup"){
                    $(document).off('mousemove.drag');
                }
            }
    );
复制代码

 

posted @   dongxiaolei  阅读(2756)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2016-09-05 validate插件:验证密码没有空格 用户名是5-10位 至少包含数字和大小写字母中的两种字符
点击右上角即可分享
微信分享提示