jquery右键菜单

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=gb2312' />
<title>无标题文档</title>
<script src='http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js' type='text/javascript'></script>
<script type='text/javascript'>
// JavaScript Document
jQuery.fn.extend({
    jsRightMenu: function(options) {
        options = $.extend({
            menuList: []
        }, options);
        return this.each(function() {
            if ($('#div_RightMenu', $(this)).size() == 0) {
                var menuCount = options.menuList.length;
                if (menuCount > 0) {
                    var divMenuList = '<div id=\'div_RightMenu\' class=\'div_RightMenu\'>';
                    for (var i = 0; i < menuCount; i++) {
                        divMenuList += '<div class=\'divMenuItem\' οnclick=\'' + options.menuList[i].clickEvent + '\' οnmοuseοver=\'' + options.menuList[i].mouseoverEvent + '\' οnmοuseοut=\'' + options.menuList[i].mouseoutEvent + '\'>' + options.menuList[i].menuName + '</div>';
                    }
                    divMenuList += '</div>';
                    $(this).append(divMenuList);
                    var objM = $('.divMenuItem');
                    $('#div_RightMenu').hide();
                    objM.bind('mouseover', function() {
                        this.style.backgroundColor = '#316ac5';
                        this.style.paddingLeft = '30px';
                    });
                    objM.bind('mouseout', function() {
                        this.style.backgroundColor = '#EAEAEA';
                    });
                }
            }
            this.oncontextmenu = function() {
                var objMenu = $('#div_RightMenu');
                if (objMenu.size() > 0) {
                    objMenu.hide();
                    var event = arguments[0] || window.event;
                    var clientX = event.clientX;
                    var clientY = event.clientY;
                    var redge = document.body.clientWidth - clientX;
                    var bedge = document.body.clientHeight - clientY;
                    var menu = objMenu.get(0);
                    var menuLeft = 0;
                    var menuTop = 0;
                    if (redge < menu.offsetWidth)
                        menuLeft = document.body.scrollLeft + clientX - menu.offsetWidth;
                    else
                        menuLeft = document.body.scrollLeft + clientX;
                    if (bedge < menu.offsetHeight)
                        menuTop = document.body.scrollTop + clientY - menu.offsetHeight;
                    else
                        menuTop = document.body.scrollTop + clientY;
                    objMenu.css({ top: menuTop + 'px', left: menuLeft + 'px' });
                    objMenu.show();
                    return false;
                }
            }
            document.onclick = function() {
                var objMenu = $('#div_RightMenu');
                if (objMenu.size() > 0) objMenu.hide();
            }
        });
    }
});

</script>
<script type='text/javascript'>

$(function() {
$('#divTest' ).jsRightMenu({
    menuList: [{ menuName: '右键菜单1', clickEvent: 'divClick('1')'},
               { menuName: '右键菜单2', clickEvent: 'divClick('2')'},
               { menuName: '右键菜单3', clickEvent: 'divClick('3')'},
               { menuName: '右键菜单4', clickEvent: 'divClick('4')'},
               { menuName: '右键菜单5', clickEvent: 'divClick('5')'}
              ]
    });

});

function divClick(id){
    alert('你点了--右键菜单'+id);
}

</script>


</head>

<body>
<div id='divTest'>右键菜单显示区域</div>
</body>
</html>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值