转一个不错的jQuery右键菜单

一个不错的jQuery右键菜单,转自OsChina,效果图如下

转一个不错的jQuery右键菜单_第1张图片

下面是jquery右键菜单的代码

(function (menu) {
    jQuery.fn.contextmenu = function (options) {
        var defaults = {
            offsetX: 2,        //鼠标在X轴偏移量
            offsetY: 2,        //鼠标在Y轴偏移量
            items: [],       //菜单项
            action: $.noop()  //自由菜单项回到事件
        };
        var opt = menu.extend(true, defaults, options);

        function create(e) {
            var m = menu('
    ').appendTo(document.body); menu.each(opt.items, function (i, item) { if (item) { if (item.type == "split") { menu("
    ").appendTo(m); return; } var row = menu('
  • ').appendTo(m); item.icon ? menu('').insertBefore(row.find('span')) : ''; item.text ? row.find('span').text(item.text) : ''; if (item.action) { row.find('a').click(function () { item.action(e.target); }); } } }); return m; } this.on('contextmenu', function (e) { $(".simple-contextmenu").hide("fast"); //隐藏以前弹出的菜单 var m = create(e).show("fast"); var left = e.pageX + opt.offsetX, top = e.pageY + opt.offsetY, p = { wh: menu(window).height(), ww: menu(window).width(), mh: m.height(), mw: m.width() }; top = (top + p.mh) >= p.wh ? (top -= p.mh) : top; //当菜单超出窗口边界时处理 left = (left + p.mw) >= p.ww ? (left -= p.mw) : left; m.css({ zIndex: 10000, left: left, top: top }); $(document.body).on('contextmenu click', function () { m.hide("fast", function () { m.remove(); }); }); return false; }); return this; }; })(jQuery);


    demo页面内容

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="右键菜单.aspx.cs" Inherits="Plx.Web.test.右键菜单" %>
    
    
    
    
        
        
        
        
        
        
    
    
        
    con1
    con2
    con3
    con4





    你可能感兴趣的:(html,javascript,jquery)