0

我想在右键单击表格行时显示上下文菜单,并且我想阻止右键单击除表格行之外的所有页面。我想通过 jQuery 加载上下文菜单。

这是我的上下文菜单 div:

<div class="xContextMenu">
    <ul>
        <li><a href="javascript:;" class="next-chat">Accept Next Chat</a></li>
        <li><a href="javascript:;" class="next-response">Next Response</a></li>
        <li><a href="javascript:;" class="accept-chat">Accept Chat</a></li>
        <li><a href="javascript:;" class="refuse-chat">Refuse Chat</a></li>
        <li class="xDividerMenu">
            <img src="/live-person/web-area/assets/img/xContextDivider.png" alt="" />
        </li>
        <li><a href="javascript:;" class="invite-chat">Invite Chat</a></li>
        <li><a href="javascript:;">Engage</a></li>
        <li><a href="javascript:;">Block For Chat</a></li>
        <li><a href="javascript:;">Send Private Message</a></li>
        <li><a href="javascript:;">Chat Actions</a></li>
        <li class="xDividerMenu">
            <img src="/live-person/web-area/assets/img/xContextDivider.png" alt="" />
        </li>
        <li><a href="javascript:;" class="chat-history">Chat History</a></li>
        <li><a href="javascript:;">All Sessions history</a></li>
        <li><a href="javascript:;">Capture Visitor</a></li>
        <li class="xDividerMenu">
            <img src="/live-person/web-area/assets/img/xContextDivider.png" alt="" />
        </li>
        <li><a href="javascript:;">Suggest Content</a></li>
        <li class="xDividerMenu">
            <img src="/live-person/web-area/assets/img/xContextDivider.png" alt="" />
        </li>
        <li><a href="javascript:;">Cobrowser</a></li>
    </ul>
</div>
4

2 回答 2

2

这是一个可行的选择:

小提琴

$(document).on('contextmenu', function(e) {
    e.preventDefault();
    e.stopPropagation();
    if ($(e.target).is('li')) {
        $('#contextmenu').css({
            top:e.pageY + 'px',
            left:e.pageX + 'px'
        }).show();
    }
    return false;
});

$(document).on('click', function(e) {
   if (!$(e.target).is('#contextmenu')) $('#contextmenu').hide();
});
于 2013-07-23T15:03:23.743 回答
0

对于要禁用右键单击的页面部分:

$("#myid").bind("contextmenu", function(e) {
    return false;
});

对于您的表格行:

$("#myid").bind("contextmenu", function(e) {
    $('.xContextMenu').show();
});
于 2013-07-23T15:12:52.833 回答