Javascript 单击即可创建关联菜单
我正在尝试创建上下文菜单。当用户单击画布内部(HTML5)时,应显示上下文菜单,当单击菜单中的项目时,应调用一些函数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
有人能帮我吗 请浏览这个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);});