javascript用鼠标右键实现菜单
在Web方面,通常没有右键菜单,所有浏览器都有自己的右键菜单,但是对于某些特殊的Web页面,我们需要右键菜单来增加用户体验。例如,百度音乐,QQ邮箱,我相信你在网页中使用了右键菜单。现在让我们分享如何实现它。运行代码:
在window.onload =函数(){
document.oncontextmenu =块;
document.body.onmouseup =函数(事件){
如果(!事件= window.event事件);
如果(event.button = = 2){
var x = event.pagex event.clientx | |;
var y = event.pagey event.clienty | |;
document.getelementbyid(菜单)。style.left = xPX;
document.getelementbyid(菜单)。Style.top = YPX;
document.getelementbyid(菜单)。style.display =块;
}
}
停止事件
document.getelementbyid(菜单)。Onclick =函数(事件){
event.stoppropagation();
}
单击隐藏的其他位置
onclick =函数(){
document.getelementbyid(菜单)。style.display =没有;
}
对于(var i = 0;i < getelementsbyclassname(ContextMenuItem)。长度;I){
getelementsbyclassname(ContextMenuItem ){我}。onclick =函数(事件){
事件=事件:window.event
VaR目标= event.srcelement event.srcelement:event.targe;
document.getelementbyid(菜单)。style.display =没有;
/ /警报(你点击:的目标。innerHTML);
}
}
}
函数块(事件){
如果(窗口事件){
事件= window.event;
event.returnvalue = false;
其他event.preventdefault()};
}
IE / / getelementsbyclassname兼容不支持
功能getelementsbyclassname(className,根,tagname){
如果(根){
根、根= =字符串document.getelementbyid(根):根;
{人}
根document.body;
}
tagname = tagname * | | ;
如果(文件。getelementsbyclassname){
返回root.getelementsbyclassname(类名);
{人}
var标签= root.getelementsbytagname(TagName);
无功tagall = { };
对于(var i = 0;i < tag.length;我){
对于(var j = 0,n =标签{我}。classname.split(');J < n.length;J){
如果(N { J } = = className){
TagAll.push(标签{我});
打破;
}
}
}
返回tagall;
}
}
设计素描 uff1a
以上就是这篇文章的全部内容,希望大家能喜欢。