1

这可能是一个更多出于对隐私的关注而不是适用性潜力的问题,但是有没有办法创建一个事件处理程序来获取用户在 Chrome 或 Firefox 中右键单击并选择“检查元素”的事件?

如果对此没有明确的答案,有没有办法处理右键菜单选择的事件?

4

2 回答 2

2

我放在一起的小提琴,您可以获得有关mousedown 事件所在元素的所有信息

document.addEventListener('contextmenu', function(e) {
    e.preventDefault();
}, false);

document.addEventListener("mousedown", function(e) {
    console.log(e); // you can inspect the click event

    $this = $('.cmenu');

    if (e.which === 3){ // right click = 3, left click = 1
        $this.addClass('open');
        $this.css({
            'left': e.pageX - $this.width() / 2,
            'top': e.pageY - $this.height()
        });
    }else if(e.which === 1 && e.target.nodeName == "HTML"){
        $this.removeClass('open');
    }
});

http://jsfiddle.net/MKBdv/1/

于 2013-06-06T05:08:07.093 回答
1

您可以监听事件click,添加检查是否是右键单击:

document.addEventListener("mousedown", function(e) {
    console.log(e); // you can inspect the click event

    if (e.which === 3) { // right click = 3, left click = 1
        alert("right click");
    }
});

// prevent context menu show up
document.addEventListener('contextmenu', function(e) {
    e.preventDefault();
}, false);
于 2013-06-06T04:20:03.560 回答