我想在右键单击时制作 oncontextmenu 事件

Posted

技术标签:

【中文标题】我想在右键单击时制作 oncontextmenu 事件【英文标题】:i want to make oncontextmenu Event on right click 【发布时间】:2018-02-03 02:59:30 【问题描述】:

我想让我自己的菜单在我的鼠标右击时出现? 我想通过 ajax 或 java 脚本或 JQuery 来完成我的页面在 asp.net 中。

我的网格设计 -

<asp:GridView ID="GridView1" runat="server">
      <Columns>
        <asp:BoundField  DataField="Id" HeaderText="ID" />
         <asp:BoundField DataField="Name" HeaderText="Patient Name" />
     </Columns>

</asp:GridView>

我只想知道如何在点击中设计菜单我的页面上有一个右键单击事件现在我只想制作菜单的方式

【问题讨论】:

【参考方案1】:

mousedownmouseup等任意一种都可以检测到鼠标右键

最好的方法是使用oncontextmenu

<script type="text/javascript">
    $(function () 
        $(this).bind("contextmenu", function (e) 
             // Right click is pressed
             // add your ajax here
            $.ajax(
                 type: 'POST',
                 url: 'PATH TO URL',
                 success: function()
                      // code
                 
            )
        );
    );
</script>

【讨论】:

以及如何制作上下文菜单?兄弟能告诉我吗? 网址的路径?表示上下文菜单的路径? 你需要jquery来运行上面的脚本,并且op没有提到他需要jquery解决方案【参考方案2】:

你可以把你的网格放在 div 元素中,然后像这样使用 contextmenu 属性-

<div oncontextmenu="javascript:alert('success!');return false;">
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" GridLines="None" Height="90px" Width="452px" CellSpacing="1" OnSelectedIndexChanged="GridView1_SelectedIndexChanged1">
    ..............
    ..............
    ..............
    </asp:GridView>
</div>

但是,用户通常希望右键单击会调出浏览器提供的默认上下文菜单。 ios 设备甚至没有右键单击功能。因此,在 Web 环境中设计自定义上下文菜单实际上并不是一个好主意。

【讨论】:

你能分享更多关于它的细节吗?

以上是关于我想在右键单击时制作 oncontextmenu 事件的主要内容,如果未能解决你的问题,请参考以下文章

如何在powershell中使用winforms右键单击选项卡时捕获事件

使用 JavaScript 如何禁用右键单击或单击滚动条时如何在右键单击窗口中删除检查元素选项

Visual Studio 2013 在右键单击时挂起

离子在右键单击和中键单击时触发不需要的 ng-click

Eclipse插件:在右键单击弹出菜单中添加了新项,如何确定文件名/路径?

如何在summernote文本编辑器中禁用右键单击