资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

jquery右键菜单,jquery右键弹出菜单

jquery怎么实现自定义右键菜单有刷新功能

jquery怎么实现自定义右键菜单有刷新功能

成都创新互联公司于2013年成立,是专业互联网技术服务公司,拥有项目成都网站制作、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元城步做网站,已为上家服务,为城步各地企业和个人服务,联系电话:18980820575

在线演示地址如下:

具体代码如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

!DOCTYPE html

head

meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

titlejQuery自定义区域的鼠标右键菜单/title

script src="jquery-1.6.2.min.js"/script

style type="text/css"

#mask{position: absolute;left: 0;top: 0;z-index: 9000;display: block;}

#myMenu{position: absolute;display: none;z-index: 9999;background: yellow;border: 1px solid;width: 200px;height: 155px;}

#textbox{background: orange;width: 380px;border: 2px solid;}

img{height: 30px;width: 30px;}

td{font-size: 20px;cursor: pointer;}

a{text-decoration: none;color: black;}

a: hover{color: white;background: black;}

/style

script type="text/javascript"

var windowwidth;

var windowheight;

var checkmenu;

$(window).ready(function() {

$('#myMenu').hide();

$('#textbox').bind("contextmenu",function(e){

windowwidth = $(window).width();

windowheight = $(window).height();

checkmenu = 1;

$('#mask').css({

'height': windowheight,

'width': windowwidth

});

$('#myMenu').show(500);

$('#myMenu').css({

'top':e.pageY+'px',

'left':e.pageX+'px'

});

return false;

});

$('#mask').click(function(){

$(this).height(0);

$(this).width(0);

$('#myMenu').hide(500);

checkmenu = 0;

return false;

});

$('#mask').bind("contextmenu",function(){

$(this).height(0);

$(this).width(0);

$('#myMenu').hide(500);

checkmenu = 0;

return false;

});

$(window).resize(function(){

if(checkmenu == 1) {

windowwidth = $(window).width();

windowheight = $(window).height();

$('#mask').css({

'height': windowheight,

'width': windowwidth,

});

}

});

});

/script

/head

body

div id="myMenu"

table cellspace="3"

tr

td img src="images/twitter.png" /tdtda href="#"tweet me/a/td

/tr

tr

td img src="images/facebook.png" /tdtda href="#"facebook share/a/td

/tr

tr

td img src="images/myspace.png" /tdtda href="#"myspace share/a/td

/tr

tr

td img src="images/mail.png" /tdtda href="#"e-mail this/a/td

/tr

/table

/div

div id="mask" /div

div id="textbox"

p嗨!您好,在这个区域内点击您的鼠标右键吧,会弹出一个自定义的右键菜单,和浏览器的右键菜单完全不一样哦!p/

/div

div

/body

/html

jquery怎样弹出右键菜单,请教!

先来源码,把这一段存成文件,在要使用的页面里面导入于jquery基本库后。

------------

jQuery.fn.extend({

jsRightMenu: function(options) {

options = $.extend({

menuList: []

}, options);

return this.each(function() {

if ($("#div_RightMenu", $(this)).size() == 0) {

var menuCount = options.menuList.length;

if (menuCount 0) {

var divMenuList = "div id=\"div_RightMenu\" class=\"div_RightMenu\"";

for (var i = 0; i menuCount; i++) {

divMenuList += "div class=\"divMenuItem\" onclick=\"" + options.menuList[i].clickEvent + "\" onmouseover=\"" + options.menuList[i].mouseoverEvent + "\" onmouseout=\"" + options.menuList[i].mouseoutEvent + "\"" + options.menuList[i].menuName + "/div";

}

divMenuList += "/div";

$(this).append(divMenuList);

var objM = $(".divMenuItem");

$("#div_RightMenu").hide();

objM.bind("mouseover", function() {

this.style.backgroundColor = "#316ac5";

this.style.paddingLeft = "30px";

});

objM.bind("mouseout", function() {

this.style.backgroundColor = '#EAEAEA';

});

}

}

this.oncontextmenu = function() {

var objMenu = $("#div_RightMenu");

if (objMenu.size() 0) {

objMenu.hide();

var event = arguments[0] || window.event;

var clientX = event.clientX;

var clientY = event.clientY;

var redge = document.body.clientWidth - clientX;

var bedge = document.body.clientHeight - clientY;

var menu = objMenu.get(0);

var menuLeft = 0;

var menuTop = 0;

if (redge menu.offsetWidth)

menuLeft = document.body.scrollLeft + clientX - menu.offsetWidth;

else

menuLeft = document.body.scrollLeft + clientX;

if (bedge menu.offsetHeight)

menuTop = document.body.scrollTop + clientY - menu.offsetHeight;

else

menuTop = document.body.scrollTop + clientY;

objMenu.css({ top: menuTop + "px", left: menuLeft + "px" });

objMenu.show();

return false;

}

}

document.onclick = function() {

var objMenu = $("#div_RightMenu");

if (objMenu.size() 0) objMenu.hide();

}

});

}

});

-------------------------------------------------------

script src="" type="text/javascript"/script

script type="text/javascript" src="jquery.menu.js"/script

div id="divTest"右键菜单显示区域/div

script type="text/javascript"

$(function() {

$("#divTest" ).jsRightMenu({

menuList: [{ menuName: "右键菜单1", clickEvent: "divClick('1')"},

{ menuName: "右键菜单2", clickEvent: "divClick('2')"},

{ menuName: "右键菜单3", clickEvent: "divClick('3')"},

{ menuName: "右键菜单4", clickEvent: "divClick('4')"},

{ menuName: "右键菜单5", clickEvent: "divClick('5')"}

]

});

});

function divClick(id){

alert("你点了--右键菜单"+id);

}

/script

jQuery EasyUI实现右键菜单变灰不可用效果

首先,实现“除此之外全部关闭”变灰不可用。

当只打开一个Tab选项卡时,右键菜单里“除此之外全部关闭”就应该变灰不可用,这样可以提示用户没有除这一个选项卡没有其他的选项卡了。程序实现很简单了,只要获得打开Tab选项卡的个数,如果个数为1,那么就把“除此之外全部关闭”变灰不可用就行了。

var

tabcount

=

$('#tabs').tabs('tabs').length;

//tab选项卡的个数

if

(tabcount

=

1)

{

$('#mm-tabcloseother').attr("disabled",

"disabled").css({

"cursor":

"default",

"opacity":

"0.4"

});

}

else

{

$('#mm-tabcloseother').removeAttr("disabled").css({

"cursor":

"pointer",

"opacity":

"1"

});

}

说明:在Firfox,Google,Opera浏览器里,“disabled”的属性不起作用,所以我加了一个CSS样式,设置了一下它的透明度使它变灰。

效果图:

图一:除此之外全部关闭

第二,实现“当前页右侧全部关闭”变灰不可用。

当一个Tab选项卡的右侧没有选项卡的时候,这个Tab选项卡就应该变灰不可用。程序实现也不难,只要获得最后一个Tab选项卡的标题和当前右键菜单所在的Tab选项卡的标题进行比较,如果一致,就把“当前页右侧全部关闭”变灰不可用。

var

tabs

=

$('#tabs').tabs('tabs');

//获得所有的Tab选项卡

var

tabcount

=

tabs.length;

//Tab选项卡的个数

var

lasttab

=

tabs[tabcount

-

1];

//获得最后一个Tab选项卡

var

lasttitle

=

lasttab.panel('options').tab.text();

//最后一个Tab选项卡的Title

var

currtab_title

=

$('#mm').data("currtab");

//当前Tab选项卡的Title

if

(lasttitle

==

currtab_title)

{

$('#mm-tabcloseright').attr("disabled",

"disabled").css({

"cursor":

"default",

"opacity":

"0.4"

});

}

else

{

$('#mm-tabcloseright').removeAttr("disabled").css({

"cursor":

"pointer",

"opacity":

"1"

});

}

效果图:

图二:当前页右侧全部关闭

第三,实现“当前页左侧全部关闭”变灰不可用。

这个跟第二个相反就行了,获得第一个Tab选项卡的标题和当前Tab选项卡的标题进行比较。

var

onetab

=

tabs[0];

//第一个Tab选项卡

var

onetitle

=

onetab.panel('options').tab.text();

//第一个Tab选项卡的Title

if

(onetitle

==

currtab_title)

{

$('#mm-tabcloseleft').attr("disabled",

"disabled").css({

"cursor":

"default",

"opacity":

"0.4"

});

}

else

{

$('#mm-tabcloseleft').removeAttr("disabled").css({

"cursor":

"pointer",

"opacity":

"1"

});

}

最后,实现的效果如下图

图三:当前页左侧全部关闭

上面实现了三种情况下的变灰不可用的效果,当鼠标放到上面点击,右键菜单就会消失,其实解决的办法很简单,希望这篇文章可以给大家带来启发。

jquery的contextMenu()右键菜单内容怎么修改?

1、contextMenu我们可以根据数据记录隐藏一些菜单项,这个可以在onShowMenu事件中,根据e.currentTarget触发源获取数据,再根据你需要改变原菜单项


网站标题:jquery右键菜单,jquery右键弹出菜单
文章路径:http://cdkjz.cn/article/dsccojh.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220