评论:jQuery自定义鼠标右键菜单  [查看原文]

所属分类:其他-独立的部件

 38837  369  34
当前第2页 / 共2页
    年轻的心0
    2017/9/19 17:35:18

    高版本jq下有问题

        hellolxc0
        2017/9/20 10:07:40

        已更新修复

    回复
    hellolxc0
    2017/9/8 8:33:45

    具体业务逻辑,请自行处理

        铁血总督0
        2017/10/4 19:58:16

        目前右键target回调可以获取到当前对象。可是菜单的点击的回调如何获取当前元素?难道只能通过变量 吗?可否直接在回到里加个参数返回当前点击的对象?

        回眸淡然笑1
        2017/11/7 15:46:00
        $(".layim-list-friend >li > ul > li").contextMenu({
            width: 110, // width
            itemHeight: 25, // 菜单项height
            bgColor: "#fff", // 背景颜色
            color: "#333", // 字体颜色
            fontSize: 12, // 字体大小
            hoverBgColor: "#009bdd", // hover背景颜色
            hoverColor: "#fff", // hover背景颜色
            target: function(ele) { // 当前元素
                console.log(ele);
                $(".ul-context-menu>li").attr("data-id", ele[0].id); //添加这行获取到当前点击对象的属性,这里我需要的是id,所以只添加了id
            },
            menu: [{ // 菜单项
                    text: "查看资料",
                    icon: "static/img/add.png",
                    callback: function(ele) {
                        console.log(ele[0].dataset.id); //测试可用
                    }
                },
                {
                    text: "聊天记录",
                    icon: "static/img/paste.png",
                    callback: function() {
                        alert("粘贴");
                    }
                },
                {
                    text: "删除好友",
                    icon: "static/img/del.png",
                    callback: function(ele) {
                        console.log(ele);
                    }
                }
            ]
        });
        0
        2018/7/30 16:37:07
        这个貌似不行吧,我输出的callback里的参数ele是undefined,console.log(ele[0].dataset.id); //测试可用 这一条并没起到作用
        janis0
        2019/4/3 10:16:48
        这个貌似不行吧,我输出的callback里的参数ele是undefined,console.log(ele[0].dataset.id); //测试可用 这一条并没起到作用
        这个问题你解决了吗,我现在也报undefined
        sunmy0
        2019/6/25 17:25:21
        eventBind: function() {
           ...
           this.ele.on("contextmenu", function(n) {
           t.opts.target_obj = e(this); // 新增此行
           ...
           }
           ...
           n.opts.menu[e].callback(this.opts.target_obj) // 加上此参数
           ...
           // 此时调用就可以了
           callback: function(e) {
               console.log(e);
               alert("新增");
           }
        欲落雨0
        2019/8/15 15:28:00
        好用
        欲落雨0
        2019/8/15 15:29:14
        加了一行,三个位置参数都加上了
    回复
    画心。0
    2017/9/7 16:00:19

    不同的文件类型,怎么去定义不同的菜单项哦。

    回复

讨论这个项目(34)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

取消回复