栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

Javascript实现鼠标右键特色菜单

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Javascript实现鼠标右键特色菜单

在Web端,通常是不需要右键菜单,各个浏览器也有自己的右键菜单。但是对于一些特殊的网页,是需要右键菜单来增加用户体验的,比如百度音乐,QQ邮箱,相信大家都在Web端使用过右键菜单了,现在来分享一下如何实现,比较简单。

运行代码:

window.onload = function() {
      document.oncontextmenu = block;
      document.body.onmouseup = function(event) {
 if (!event) event = window.event;
 if (event.button == 2) {
   var x = event.pageX || event.clientX;
   var y = event.pageY || event.clientY;
   document.getElementById("contextMenu").style.left = x  "px";
   document.getElementById("contextMenu").style.top = y  "px";
   document.getElementById("contextMenu").style.display = "block";
 }
      }
      //阻止事件冒泡
      document.getElementById("contextMenu").onclick = function(event) {
 event.stopPropagation();
      }
      //点击其他地方隐藏
      document.onclick = function() {
 document.getElementById("contextMenu").style.display = "none";
      }
      for (var i = 0; i < getElementsByClassName("contextMenuItem").length; i ) {
 
 getElementsByClassName("contextMenuItem")[i].onclick = function(event) {
   event = event ? event : window.event
   var target = event.srcElement ? event.srcElement : event.targe;
   document.getElementById("contextMenu").style.display = "none";
   //alert("您点击了: "  target.innerHTML);
    
 }
      }
 
    }
     
    function block(event) {
      if (window.event) {
 event = window.event;
 event.returnValue = false;
      } else event.preventDefault();
    }
    //兼容IE不支持getElementsByClassName
    function getElementsByClassName(className, root, tagName) {
      if (root) {
 root = typeof root == "string" ? document.getElementById(root) : root;
      } else {
 root = document.body;
      }
      tagName = tagName || "*";
      if (document.getElementsByClassName) { 
 return root.getElementsByClassName(className);
      } else {
 var tag = root.getElementsByTagName(tagName); 
 var tagAll = [];
 for (var i = 0; i < tag.length; i ) {
   for (var j = 0, n = tag[i].className.split(' '); j < n.length; j ) {
     if (n[j] == className) {
tagAll.push(tag[i]);
break;
     }
   }
 }
 return tagAll;
      }
    }

效果图:

以上就是本文的全部内容,希望大家可以喜欢。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/101376.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号