189 8069 5689

jquery右键菜单,html 右键菜单

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

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

创新互联公司作为成都网站建设公司,专注重庆网站建设公司、网站设计,有关企业网站制作方案、改版、费用等问题,行业涉及石凉亭等多个领域,已为上千家企业服务,得到了客户的尊重与认可。

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 easyUI datagrid 添加右键菜单

//HTML中代码

div id="menu" class="easyui-menu" style="width:150px;"div id="m-update"更新/divdiv class="menu-sep"/div%--分页下划线--%div id="m-closeall"全部关闭/divdiv id="m-closeother"除此之外全部关闭/divdiv class="menu-sep"/divdiv id="m-close"关闭/div

//查询按钮

$("#getprefrominfo").click(function () { var cols = $.data(document.body, "selectcols");//数据缓存,获取需要查询的列名 if (cols == null) { AlertMsg("请选择列!"); return; } else { $("#grid").datagrid("loading"); var index = 0; //0为查询 var qp = { cols: cols, sortway: $.data(document.body, "sortway"), index: index }; $("#result").empty(); $("#grid").datagrid({ queryParams: qp, //datagrid自带的传值参数

//这边可以不用queryParams传值,可以写成:

// url: '/report/PreformDrawInfo_Get?_=' + radomnum(1000)+data,

//其中data为字符串类型的数据

//但是在IE下不用queryParams的话,数据中出现中文字符或出现乱码 url: '/report/PreformDrawInfo_Get?_=' + radomnum(1000),

onRowContextMenu: function (e, rowIndex, rowData) { //右击事件 $.data(document.body, "selectupdaterodno", rowData['入库棒号']);//将右击选中的某行数据放在缓存中 $('#menu').menu('show', { left: e.pageX, //弹出窗口的方位坐标 top: e.pageY }); e.preventDefault(); //阻止浏览器自带的右键菜单弹出 } }); } });

//右击后触发的事件

$('#m-update').click(function () { postAjax("Report", "updateState", "rodno=" + $.data(document.body, "selectupdaterodno"), function (json) { if (!json.iserror) { $.data(document.body, "selectupdaterodno", ""); //清空缓存 AlertMsg("更新成功!"); } }); });


分享标题:jquery右键菜单,html 右键菜单
文章网址:http://jkwzsj.com/article/dsicjpd.html

其他资讯