Reason for my vote of 1
Easily defeated by disabling js. Very annoying to users to have the a website screwing with the operations of their computer. Frowned upon by many as it is amateurish. And if someone wants to snatch what you have on the page, they will find a way
Would like to comment that any method of prevention is entirely pointless - large numbers of users do not right click and instead go through the edit menu. Furthermore, unless you can disable Developer Tools - which you can't - I do not see why you are trying to block the default context menu. The only time I have found it helpful to block the default context menu was when I wanted my own one for an online editor I was producing. In which case, a jQuery plugin did the job nicely - jQuery is far better for stuff like this.
lots of thanks to you for the article as it solved my great problem, i was encountering with a problem of context menu in my web app. without this i was to develop a new system to over come the bugs of using context menu. you saved me coding hundreds of links of code for new system. using your code i can disable context menu ..