基于JavaScript实现智能右键菜单
来源: 阅读:694 次 日期:2016-08-03 16:30:51
温馨提示: 小编为您整理了“基于JavaScript实现智能右键菜单”,方便广大网友查阅!

通过本文给大家介绍智能右键菜单,需要引入的文件再文末会给出,先给大家展示下代码:

具体代码如下所示:

var cityArray = new Array();

cityArray.push("北京");

cityArray.push("上海");

//设置表头的鼠标右击事件

$('th').mousedown(function(e){

var selected = e.target.innerHTML;

//3表示右键

if(e.which==3){

if(selected=="订票类型"){

var opertion ={

name : "订票类型"

};

var data = [[{

text:'出票',

func:function(){

alert("出票");

}

}],[{

text:'留票',

func:function(){

alert("留票");

}

}],[{

text:'改签',

func:function(){

alert("改签");

}

}],[{

text:'退票',

func:function(){

alert("退票");

}

}],[{

text:'全部',

func:function(){

alert("全部");

}

}]];

$(this).smartMenu(data,opertion);

}else if(selected=="出发城市"){

var opertion ={

name : "出发城市"

};

var data = [];

for(var i=0;i<cityArray.length;i++){

//使用闭包

(function(i){

func = function(){

alert(cityArray[i]);

}

})(i);

var obj = {

text:cityArray[i],

func:func

};

var cArray = new Array();

cArray.push(obj);

data.push(cArray);

}

var other = {

text:"全部",

func:function(){

alert("全部");

}

}

var otherArray = new Array();

otherArray.push(other);

data.push(otherArray);

$(this).smartMenu(data,opertion);

}

}

return false;//阻止链接跳转

});

$('th') 指定加右键的标签,根据实际来确定 我这里是加在表格的表头上,所以是th标签

e.which = 3 表示是右键

这里列出了两种情况

一种是菜单上的内容确定 用前面一种opertion定义该右键菜单的名称,要唯一

另一种是不确定 可以通过从服务端获取数据,存储在数组中,我这里写死了,然后用第二种方式实现 其中需要用到闭包

以上内容是小编给大家分享的基于JavaScript实现智能右键菜单的相关知识,希望对大家有所帮助!

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map