javascript - jQuery RightClick Handler Plugin -


i looking way distinguish different click types in mouse events jquery. ended small plugin seems work. feedback on it.

the main difficulty emulate dom event "click" or "mousedown" le right mouse button.

if(jquery) (function(){      $.extend($.fn, {          rightclick: function(handler) {             $(this).each( function() {                 $(this).on("rightclick", function(e,event) {                     handler(event);                 });             });             return $(this);         },                rightmousedown: function(handler) {             $(this).each( function() {                 $(this).on("rightmousedown",function(e,event) {                     handler(event);                 });             });             return $(this);         },          rightmouseup: function(handler) {             $(this).each( function() {                 $(this).on("rightmouseup",function(e,event) {                     handler(event);                 });             });             return $(this);         },          leftclick: function(handler) {             $(this).each( function() {                 $(this).on("leftclick", function(e,event) {                     handler(event);                 });             });             return $(this);         },                leftmousedown: function(handler) {             $(this).each( function() {                 $(this).on("leftmousedown",function(e,event) {                     handler(event);                 });             });             return $(this);         },          leftmouseup: function(handler) {             $(this).each( function() {                 $(this).on("leftmouseup",function(e,event) {                     handler(event);                 });             });             return $(this);         },          nocontext: function() {             $(this).each( function() {                 $(this)[0].oncontextmenu = function() {                     return false;                 }             });             return $(this);         }      });     $(document).on({         click:function(e){             $(e.target).trigger("leftclick",e);             e.stoppropagation();         },         mousedown:function(e){             if(e.button == 0){                 $(e.target).trigger("leftmousedown",e);             }             if(e.button == 2){                 $(e.target).trigger("rightmousedown",e);             }             e.stoppropagation();         },         mouseup:function(e){             if(e.button == 0){                 $(e.target).trigger("leftmouseup",e);             }             if(e.button == 2){                 $(e.target).trigger("rightmouseup",e);             }             e.stoppropagation();         },         contextmenu:function(e){             $(e.target).trigger("rightclick",e);             e.stoppropagation();             return false;         }     },"*"); })(jquery);  

try this:

$(document).ready(function(){    document.oncontextmenu = function() {return false;};    $(document).mousedown(function(e){      if( e.button == 2 ) { //2 right click, 3 mouse wheel click       alert('right mouse button!');        return false;      }      return true;    });  }); 

jsfiddle


Comments

Popular posts from this blog

jquery - How can I dynamically add a browser tab? -

node.js - Getting the socket id,user id pair of a logged in user(s) -

keyboard - C++ GetAsyncKeyState alternative -