我有个问题。与此HTML:

<div id="d"><div>Click me!</div><div>Or me</div></div>


当我使用此代码时:

$("#d").on("mousedown", "div", function (e){
    console.log('clicked');
    if (e.which == 3) alert('left button clicked');
    return false;
});


它阻止了上下文菜单的显示和警报,但是当我使用此代码时:

$("#d").on("mousedown", "div", function (e){
    console.log('clicked');
    if (e.which == 3) console.log('left button clicked');
    return false;
});


它记录到控制台,但不阻止上下文菜单。我很困惑。

Here's a JSFiddle demonstrating the problem.

哦,如果您碰巧发现重复的东西,请耐心等待。我确实尝试找到它。

最佳答案

我添加了一个更新的小提琴:http://jsfiddle.net/2D32L/12/

$("#f").on("contextmenu", "div", function (e) {
    e.preventDefault();
});


有关更多信息,请参见this question

对于其余部分,我同意Johannes H.;取消上下文菜单的不是返回值,而是警报。

09-17 13:10
查看更多