用javascript 实现网页鼠标右键弹出菜单功能

工作中需要实现在网页上点右键弹出简单菜单的功能,在网上找了一些例子,都比较复杂,其实我这边只需要实现简单的菜单功能,两个选项,用户点击了以后实现一些简单的ajax功能。于是根据思路,用DOM创建一个菜单层,每个菜单选项有自己的onclick方法,激活相应的ajax功能,然后将层位置定义到鼠标点击点的右下方,如果点左键,那么删除菜单。很简单的就实现了,下面是代码:

 

function setDivRightMenu(divId)
{
    $(divId).mousedown(function(event) {
        if (event.button == 2) {
            //这个很重要,屏蔽系统鼠标右键菜单功能

            document.oncontextmenu = hideSysMenu;

            x = event.clientX;
            y = event.clientY;
            CreateMenu(event.target);

            var PopMenu = document.getElementById('div_RightMenu');
            PopMenu.style.left = x - 2;
            PopMenu.style.top = y - 2;
            PopMenu.style.display = 'inline';
        }
        if (event.button 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现鼠标右键点击弹出输入框,可以通过以下步骤进行: 1. 在 HTML 文件中,创建一个 div 元素,作为弹出框的容器,并设置其样式,如下所示: ```html <div id="context-menu" style="display:none; position:absolute; background-color:#FFF; border:1px solid #CCC; padding:10px;"></div> ``` 2. 编写 JavaScript 代码,监听鼠标右键点击事件,并在事件发生时,显示弹出框。 ```javascript document.addEventListener("contextmenu", function(e) { e.preventDefault(); // 阻止默认右键菜单 var menu = document.getElementById("context-menu"); menu.style.display = "block"; menu.style.left = e.clientX + "px"; menu.style.top = e.clientY + "px"; }); ``` 3. 在弹出框中添加输入框,并在需要时获取输入框的值。 ```javascript var menu = document.getElementById("context-menu"); menu.innerHTML = '<input type="text" id="input-box" />'; var inputBox = document.getElementById("input-box"); var inputValue = inputBox.value; ``` 完整的示例代码如下: ```html <!DOCTYPE html> <html> <head> <title>右键弹出输入框</title> </head> <body> <div id="context-menu" style="display:none; position:absolute; background-color:#FFF; border:1px solid #CCC; padding:10px;"></div> <script> document.addEventListener("contextmenu", function(e) { e.preventDefault(); // 阻止默认右键菜单 var menu = document.getElementById("context-menu"); menu.style.display = "block"; menu.style.left = e.clientX + "px"; menu.style.top = e.clientY + "px"; menu.innerHTML = '<input type="text" id="input-box" />'; var inputBox = document.getElementById("input-box"); inputBox.focus(); document.addEventListener("click", function() { var inputValue = inputBox.value; console.log(inputValue); menu.style.display = "none"; }); }); </script> </body> </html> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值