【发布时间】:2012-08-21 13:14:31
【问题描述】:
我正在最新版本的 Firefox 中试验 HTML5 上下文菜单项(只有当前支持它的浏览器)。当我从上下文菜单中单击菜单项时,如何访问生成菜单时单击的原始元素?
该用例将显示项目列表,并且您希望用户对特定项目执行操作。从菜单中单击操作后,您需要一种方法来确定最初单击列表中的哪个元素以生成菜单。
【问题讨论】:
标签: javascript html contextmenu
我正在最新版本的 Firefox 中试验 HTML5 上下文菜单项(只有当前支持它的浏览器)。当我从上下文菜单中单击菜单项时,如何访问生成菜单时单击的原始元素?
该用例将显示项目列表,并且您希望用户对特定项目执行操作。从菜单中单击操作后,您需要一种方法来确定最初单击列表中的哪个元素以生成菜单。
【问题讨论】:
标签: javascript html contextmenu
只需将其保存在 this.cte = arguments[0]; 之类的位置,然后稍后再检索它 document.getElementById('testitem').cte
【讨论】:
我处于相同或非常相似的情况。我有一个上下文菜单绑定到表标题中的<tr>。当用户单击上下文菜单中的某个项目时,在单击事件处理程序中,我需要确定单击 <menuitem> 元素时鼠标指针位于哪个 <th> 元素上。
解决方案:document.activeElement 指的正是我需要的元素。感谢:
【讨论】:
您可以使用独立于浏览器的 jquery contextMenu 插件。特别是以下示例: http://medialize.github.io/jQuery-contextMenu/demo/on-dom-element.html 展示了如何识别触发的 DOM 元素。
【讨论】:
this 关键字在任何情况下都有效。
【讨论】:
<menuitem>,而不是打开它的具有contextmenu 属性的项目。