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

How can I fetch data from a web server in an android application? -

android - java.net.UnknownHostException(Unable to resolve host “URL”: No address associated with hostname) -

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