在上下文菜单被禁用时将回调分配给jQuery右键单击

时间:2014-09-04 08:00:40

标签: javascript jquery contextmenu right-click

在禁用上下文菜单时,是否可以为右键单击指定回调函数?

FIDDLE

$('div').on('contextmenu', function (e) {
    e.preventDefault();
    return false;
});

$('label').on('click', function (e) {
    var btn = e.button;
    if (btn == 2) {
        alert(1);
    } else {
        return false;
    }
});

2 个答案:

答案 0 :(得分:2)

这将是一种更方便的方法: DEMO

$('div').on('contextmenu', function (e) {
    if(!$(this).children('label').is(e.target)){
        e.preventDefault();
        return false;
    }
});

$('label').on('contextmenu', function (e) {
    alert(1);
    e.preventDefault();
    return false;
});

答案 1 :(得分:1)

你快到了。右键单击时会触发contextmenu事件。所以在那个处理程序中,你应该做你想做的事情然后e.preventDefault()

$('div').on('contextmenu', function (e) {
    var btn = e.button;
    if (btn == 2) {
        alert(1);
    } else {
        return false;
    }

    e.preventDefault();
    return false;
});