PageSourceSearch

https://cdn1.kdt.kz/modules/jquery-contextmenu/1.01/jquery.contextmenu-custom.min.js?_=100

js kdt.kz collected 2026-10-01 16:29:03 UTC 5,575 bytes, 34 lines download raw bytes

1// jQuery Context Menu Plugin
2//
3// Version 1.01 customized version (see comment below)
4//
5// Cory S.N. LaViska
6// A Beautiful Site (http://abeautifulsite.net/)
7//
8// More info: http://abeautifulsite.net/2008/09/jquery-context-menu-plugin/
9//
10// Terms of Use
11//
12// This plugin is dual-licensed under the GNU General Public License
13//   and the MIT License and is copyright A Beautiful Site, LLC.
14//
15// 2011-02-17 Martin Wendt:
16//            Changed stopPropagation() to preventDefault() in order to make it
17//            work with Dynatree drag'n'drop.
18//            See http://code.google.com/p/dynatree/issues/detail?id=174
19// 2012-09-27 Martin Wendt:
20//            fixed position in a fancy layout
21// 2013-05-09 Martin Wendt:
22//            Added polyfil for $.browser (fixes compatibility with jQuery 1.9)
23//
24if(jQuery)(function(){function _checkBrowser(){var matched,browser;function uaMatch(ua){ua=ua.toLowerCase();var match=/(chrome)[ \/]([\w.]+)/.exec(ua)||/(webkit)[ \/]([\w.]+)/.exec(ua)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua)||/(msie) ([\w.]+)/.exec(ua)||ua.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)||[];return{browser:match[1]||'',version:match[2]||'0',};}
25matched=uaMatch(navigator.userAgent);browser={};if(matched.browser){browser[matched.browser]=true;browser.version=matched.version;}
26if(browser.chrome){browser.webkit=true;}else if(browser.webkit){browser.safari=true;}
27return browser;}
28var BROWSER=jQuery.browser||_checkBrowser();$.extend($.fn,{contextMenu:function(o,callback){if(o.menu==undefined)return false;if(o.inSpeed==undefined)o.inSpeed=150;if(o.outSpeed==undefined)o.outSpeed=75;if(o.inSpeed==0)o.inSpeed=-1;if(o.outSpeed==0)o.outSpeed=-1;$(this).each(function(){var el=$(this);var offset=$(el).offset();$('#'+o.menu).addClass('contextMenu');$(this).mousedown(function(e){var evt=e;evt.preventDefault();$(this).mouseup(function(e){e.preventDefault();var srcElement=$(this);$(this).unbind('mouseup');if(evt.button==2){$('.contextMenu').hide();var menu=$('#'+o.menu);if($(el).hasClass('disabled'))return false;var d={},x,y;if(self.innerHeight){d.pageYOffset=self.pageYOffset;d.pageXOffset=self.pageXOffset;d.innerHeight=self.innerHeight;d.innerWidth=self.innerWidth;}else if(document.documentElement&&document.documentElement.clientHeight){d.pageYOffset=document.documentElement.scrollTop;d.pageXOffset=document.documentElement.scrollLeft;d.innerHeight=document.documentElement.clientHeight;d.innerWidth=document.documentElement.clientWidth;}else if(document.body){d.pageYOffset=document.body.scrollTop;d.pageXOffset=document.body.scrollLeft;d.innerHeight=document.body.clientHeight;d.innerWidth=document.body.clientWidth;}
29(e.pageX)?x=e.pageX:x=e.clientX+d.scrollLeft;(e.pageY)?y=e.pageY:y=e.clientY+d.scrollTop;$(menu).unbind('click');$(menu).fadeIn(o.inSpeed).offset({top:y,left:x});$(menu).find('A').mouseover(function(){$(menu).find('LI.hover').removeClass('hover');$(this).parent().addClass('hover');}).mouseout(function(){$(menu).find('LI.hover').removeClass('hover');});$(document).keypress(function(e){switch(e.keyCode){case 38:if($(menu).find('LI.hover').size()==0){$(menu).find('LI:last').addClass('hover');}else{$(menu).find('LI.hover').removeClass('hover').prevAll('LI:not(.disabled)').eq(0).addClass('hover');if($(menu).find('LI.hover').size()==0)$(menu).find('LI:last').addClass('hover');}
30break;case 40:if($(menu).find('LI.hover').size()==0){$(menu).find('LI:first').addClass('hover');}else{$(menu).find('LI.hover').removeClass('hover').nextAll('LI:not(.disabled)').eq(0).addClass('hover');if($(menu).find('LI.hover').size()==0)$(menu).find('LI:first').addClass('hover');}
31break;case 13:$(menu).find('LI.hover A').trigger('click');break;case 27:$(document).trigger('click');break}});$('#'+o.menu).find('A').unbind('click');$('#'+o.menu).find('LI:not(.disabled) A').click(function(){$(menu).unbind('click').unbind('keypress');$('.contextMenu').hide();if(callback)callback($(this).attr('href').substr(1),$(srcElement),{x:x-offset.left,y:y-offset.top,docX:x,docY:y});return false;});setTimeout(function(){$(document).click(function(){$(menu).unbind('click').unbind('keypress');$(menu).fadeOut(o.outSpeed);});},0);}});});if(BROWSER.mozilla){$('#'+o.menu).each(function(){$(this).css({'MozUserSelect':'none'});});}else if(BROWSER.msie){$('#'+o.menu).each(function(){$(this).bind('selectstart.disableTextSelect',function(){return false;});});}else{$('#'+o.menu).each(function(){$(this).bind('mousedown.disableTextSelect',function(){return false;});});}
32$(el).add($('UL.contextMenu')).bind('contextmenu',function(){return false;});});return $(this);}
32,disableContextMenuItems:function(o){if(o==undefined){$(this).find('LI').addClass('disabled');return $(this);}
33$(this).each(function(){if(o!=undefined){var d=o.split(',');for(var i=0;i<d.length;i++){$(this).find('A[href="'+d[i]+'"]').parent().addClass('disabled');}}});return $(this);},enableContextMenuItems:function(o){if(o==undefined){$(this).find('LI.disabled').removeClass('disabled');return $(this);}
34$(this).each(function(){if(o!=undefined){var d=o.split(',');for(var i=0;i<d.length;i++){$(this).find('A[href="'+d[i]+'"]').parent().removeClass('disabled');}}});return $(this);},disableContextMenu:function(){$(this).each(function(){$(this).addClass('disabled');});return $(this);},enableContextMenu:function(){$(this).each(function(){$(this).removeClass('disabled');});return $(this);},destroyContextMenu:function(){$(this).each(function(){$(this).unbind('mousedown').unbind('mouseup');});return $(this);}});})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.