Javascript 单击即可创建关联菜单

Javascript 单击即可创建关联菜单,javascript,jquery,html5-canvas,contextmenu,Javascript,Jquery,Html5 Canvas,Contextmenu,我正在尝试创建上下文菜单。当用户单击画布内部(HTML5)时,应显示上下文菜单,当单击菜单中的项目时,应调用一些函数 有人能帮我吗 请浏览这个jsfiddle链接,这可能会帮助您实现这一点。 在本例中,橙色区域是画布,如果您右键单击它,它将显示上下文菜单 function createCustomMenu() { $(".box").unbind("click").bind("click", function (event) { // Avoid the real on

我正在尝试创建上下文菜单。当用户单击画布内部(HTML5)时,应显示上下文菜单,当单击菜单中的项目时,应调用一些函数


有人能帮我吗

请浏览这个jsfiddle链接,这可能会帮助您实现这一点。 在本例中,橙色区域是画布,如果您右键单击它,它将显示上下文菜单

function createCustomMenu()
{
     $(".box").unbind("click").bind("click", function (event) {
        // Avoid the real one
      event.preventDefault();

        $("#custom-menu").hide(100);
        // Show contextmenu
        if ($("#custom-menu").show() === true) {
            $("#custom-menu").hide(100)
            // In the right position (the mouse)
            css({
                top: event.pageY + "px",
                left: event.pageX + "px"
            });
        } else {
            $("#custom-menu").show(100).
            // In the right position (the mouse)
            css({
                top: event.pageY + "px",
                left: event.pageX + "px"
            });
        }            
    }); 
}
现在,如果用户取消选中复选框,则上下文菜单将被禁用。如果用户选中,则仅显示上下文菜单。因此,我已更新此链接,请参见工作示例

单击此链接查看JSFIDLE示例:-


使用此链接请浏览此JSFIDLE链接,这可能有助于实现此目标。 在本例中,橙色区域是画布,如果您右键单击它,它将显示上下文菜单

function createCustomMenu()
{
     $(".box").unbind("click").bind("click", function (event) {
        // Avoid the real one
      event.preventDefault();

        $("#custom-menu").hide(100);
        // Show contextmenu
        if ($("#custom-menu").show() === true) {
            $("#custom-menu").hide(100)
            // In the right position (the mouse)
            css({
                top: event.pageY + "px",
                left: event.pageX + "px"
            });
        } else {
            $("#custom-menu").show(100).
            // In the right position (the mouse)
            css({
                top: event.pageY + "px",
                left: event.pageX + "px"
            });
        }            
    }); 
}
现在,如果用户取消选中复选框,则上下文菜单将被禁用。如果用户选中,则仅显示上下文菜单。因此,我已更新此链接,请参见工作示例

单击此链接查看JSFIDLE示例:-


用这个

谢谢。在您的示例中,当用户单击鼠标右键时,将显示一个菜单。事实上,当用户在画布内单击时,我需要一个菜单。使用Devendra Soni的答案并绑定到画布的
单击
事件,而不是
上下文菜单
事件。是的,请为回复晚了表示歉意…谢谢markE:)dev:为什么要添加复选框?当我放下鼠标或离开菜单时,菜单并没有隐藏。上下文菜单也显示在画布区域的外部。如果要在单击外部时隐藏上下文菜单,请使用此代码和(忽略复选框功能)$(文档)。在('click',function(e){$(“#custom menu”)。隐藏(100);});谢谢在您的示例中,当用户单击鼠标右键时,将显示一个菜单。事实上,当用户在画布内单击时,我需要一个菜单。使用Devendra Soni的答案并绑定到画布的
单击
事件,而不是
上下文菜单
事件。是的,请为回复晚了表示歉意…谢谢markE:)dev:为什么要添加复选框?当我放下鼠标或离开菜单时,菜单并没有隐藏。上下文菜单也显示在画布区域的外部。如果要在单击外部时隐藏上下文菜单,请使用此代码和(忽略复选框功能)$(文档)。在('click',function(e){$(“#custom menu”)。隐藏(100);});