在网端,通常是不需要右键菜单,各个浏览器也有自己的右键菜单。但是对于一些特殊的网页,是需要右键菜单来增加用户体验的,比如百度音乐,QQ邮箱,相信大家都在网端使用过右键菜单了,现在来分享一下如何实现,比较简单。
运行代码:
窗户。onload=function(){ document。oncontext menu=block文件。尸体。onmouseup=function(event){ if(!事件)事件=窗口。事件;if(事件。button==2){ var x=event。pagex | |事件。客户x;var y=事件。佩吉| |事件。客户关系;文件。getelementbyid(“上下文菜单”)。风格。left=x ' px文件。getelementbyid(“上下文菜单”)。风格。top=y ' px文件。getelementbyid(“上下文菜单”)。风格。display=' block} } //阻止事件冒泡文件。getelementbyid(“上下文菜单”).onclick=function(event){ event。stopperpagation();} //点击其他地方隐藏文件。onclick=function(){ document。getelementbyid(“上下文菜单”)。风格。显示='无';} for(var I=0;我得到了elementsbyclassname(contextMenuItem).长度;I){ getElementsByClassName(' contextMenuItem ')[I].onclick=function(event){ event=event?事件:窗口。事件var目标=事件。加速?事件。事件。targe文件。getelementbyid(“上下文菜单”)。风格。显示='无';//alert('您点击了:'目标。innerhtml);} } }功能块(事件){ if(window。事件){事件=窗口。事件;event.returnValue=false} else事件。prevent default();} //兼容工业管理学(工业工程)不支持函数getElementsByClassName(类名,根,标记名){ if(根){ root=typeof root=='string '?document.getElementById(根):根;} else { root=document.body}标记名=标记名| | ' *;if(文档。getelementsbyclassname){ return root。getelementsbyclassname(类名);} else { var标记=root。getelementsbytagname(标记名);var tagAll=[];for(var I=0;长度;i ) { for (var j=0,n=tag[I]。类名。split(');j . n .长度;j){ if(n[j]==类名){ tagall。push(标记[I]);打破;} } }返回tagAll} }效果图:
以上就是本文的全部内容,希望大家可以喜欢。