Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
208 views
in Technique[技术] by (71.8m points)

javascript - Is there a close event for the browser contextmenu

I'm catching the contextmenu event using jQuery like this:

$(document.body).on("contextmenu", function(e){
    //do stuff here
});

So far, so good. Now I want to execute some code when it closes but I can't seem to find a correct solution for this.

Using something like the following would catch some of the cases, but not nearly all:

$(document.body).on("contextmenu click", function(e){});

It wouldn't be executed when:

  • the browser loses focus
  • an option in the contextmenu is chosen
  • the user clicks anywhere in the browser that's not on the page

note: I'm not using a jQuery context menu, I'm just using it to catch the event.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Following code may help you. jsfiddle

var isIntextMenuOpen ;
$(document).on("contextmenu", function(e){

    isIntextMenuOpen = true;
});
function hideContextmenu(e){
       if(isIntextMenuOpen ){
            console.log("contextmenu closed ");
       }

     isIntextMenuOpen = false;
}
$(window).blur(hideContextmenu);

$(document).click(hideContextmenu);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...