Javascript实现鼠标右键特色菜单_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;
      }
    }

效果图:

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索javascript
, 右键菜单
, 菜单
鼠标右键菜单
javascript右键菜单、javascript禁止右键、javascript右键事件、javascript 右键、javascript屏蔽右键,以便于您获取更多的相关知识。

时间: 2024-09-13 14:18:59

Javascript实现鼠标右键特色菜单_javascript技巧的相关文章

js实现右键自定义菜单_javascript技巧

本文实例为大家分享了右键自定义菜单的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #menu { height: 200px; width: 50px; border: 1px solid gray; back

JS实现禁止鼠标右键的功能_javascript技巧

遇到网页上有精美图片或者精彩文字想保存时,通常大家都是选中目标后按鼠标右键,在弹出菜单中选择"图片另存为"或"复制"来达到我们的目的.但是,目前有许多网页都屏蔽了鼠标右键,那么用js如何实现禁止鼠标右键的功能呢? 1.与禁止鼠标右键相关的JS说明 <script type="text/javascript"> document.oncontextmenu=new Function("event.returnValue=fal

两种JS实现屏蔽鼠标右键的方法_javascript技巧

JS屏蔽鼠标右键的两种方法,比较常用的一个JS小功能,用上这个代码后,浏览者在访问你网页的时候就不能点击右键了,点了也不会弹出右键菜单,本功能最好不要用的太多哦,有时候用户会反感的. 代码如下: <html> <head> <title>屏蔽鼠标右键</title> </head> <body oncontextmenu=self.event.returnvalue=false> 第一种方法:在body标签里加上oncontextme

JavaScript检测鼠标移动方向的方法_javascript技巧

本文实例讲述了JavaScript检测鼠标移动方向的方法.分享给大家供大家参考.具体实现方法如下: function Start() { stage.addEventListener(MouseEvent.MOUSE_MOVE, CheckDirection); } Start(); var prevX=0; var prevY=0; var curX=0; var curY=0; var dirX:String=""; var dirY:String=""; fu

javascript实现无限级select联动菜单_javascript技巧

代码很简单,这里主要是给大家推荐一下本代码的实现思路,别具一格. 奉上代码: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&g

JavaScript模拟鼠标右键菜单效果_javascript技巧

本文实例为大家分享了JavaScript模拟鼠标右键菜单的具体代码,供大家参考,具体代码如下 效果图: 具体代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>右键菜单</title> <style type="text/css"> *{ margin: 0; padd

鼠标右键多余菜单的清理

 系统使用的时间越长,系统垃圾也会越来越多,而大量软件的安装会让你的鼠标右键菜单变得异常臃肿,常常会遭遇到右键菜单很多,找不到自己所需要的选项.为了加快我们的效率,我们有必要对系统右键菜单进行清理.鼠标右键多余菜单清理方法如下: 第一招:清理右键"新建"菜单 由于不断地安装新的应用程序,鼠标右键快捷菜单的中的"新建"菜单下的命令选项会越来越多,有时甚至需要花费一点时间去等待它们显示完全.但实际上除了新建文件夹.TXT文档等常用的选项以外,其中有许多种类型的文件我们基

鼠标右键多余菜单项的清理

  系统使用的时间越长,系统垃圾也会越来越多,而大量软件的安装会让你的鼠标右键菜单变得异常臃肿,常常会遭遇到右键菜单很多,找不到自己所需要的选项.为了加快我们的效率,我们有必要对系统右键菜单进行清理.鼠标右键多余菜单清理方法如下: 第一招:清理右键"新建"菜单 由于不断地安装新的应用程序,鼠标右键快捷菜单的中的"新建"菜单下的命令选项会越来越多,有时甚至需要花费一点时间去等待它们显示完全.但实际上除了新建文件夹.TXT文档等常用的选项以外,其中有许多种类型的文件我们

解决Win10系统鼠标右键快捷菜单失灵问题

1.我们只要创建一个注册表文件即可实现,具体的是右击新建,文本文档: 2.然后我们把下面的代码复制到你刚才创建的记事本文件,然后ctrl+s 保存.  代码如下 复制代码 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\lnkfile] "IsShortcut"="" [HKEY_CLASSES_ROOT\piffile] "IsShortcut"="" 3.因为