【发布时间】:2010-12-13 14:51:29
【问题描述】:
我正在尝试为我的页面编写上下文菜单选项。 基本上一个 div 被右击,弹出一个选项菜单,可以用来执行任务。
我的问题是试图找到触发一切的原始元素(即右键单击的 div)。
我的 jQuery 代码或多或少:
//this is what displays the context menu
$('.outfeedPosition').bind("contextmenu", function (e) {
$('#contextMenu').css({
top: e.pageY + 'px',
left: e.pageX + 'px'
}).show();
//'this' is the element which was clicked by the user.
alert($(this).attr('id'));
return false;
});
//this is the contextMenu's button handler.
$('#ctxDelete').click(function () {
alert('delete was clicked, but i dont know by which element - so I dont know which one to delete');
});
<div id="contextMenu">
<ul>
<li><a id="ctxInsert" href="#">Insert</a></li>
<li><a id="ctxEdit" href="#">Edit</a></li>
<li><a id="ctxDelete" href="#">Delete</a></li>
</ul>
</div>
-- 所以 - 当初始右键单击发生时,我可以看到哪个元素创建了事件。 但不是在单击菜单项时。
我正在努力通过在右键单击时将元素写入隐藏的文本框,然后在单击其中一个选项时读取它,然后在菜单关闭时将其删除,从而将某些东西放在一起。 不过,这似乎不是理想的方法——我觉得我缺少一些基本的东西。
希望你能看到我想要做什么。 我可以根据要求发布更完整的示例。
【问题讨论】:
标签: jquery html css contextmenu