js将元素ID传递给菜单项
nw.js pass element ID to menuitem
我想通过javascript事件将元素id传递给新的菜单项。
<a id="element_1" class="drop-view-link" draggable="false" href="#" oncontextmenu="upShowMenu(event)" onclick="gui.Shell.openExternal('''+d.url[i].href+''')">http://stackoverflow.com/</a>
function upShowMenu(e){
e.preventDefault();
menu.popup(e.x, e.y);
//alert(e.target.id);
return false;
}
menu.append(
new gui.MenuItem(
{
label: 'Edit',
click: function(ev){
//alert(ev.id); ???
}
}
)
);
有可能吗?如果有可能,我怎么能?
谢谢!
如果我没弄错的话,你是想在选择Edit
后做一些与点击(目标)元素相关的事情。
在弹出上下文菜单之前,将contextMenu_element
之类的变量设置为目标元素。
var contextMenu_element;
function upShowMenu(e) {
e.preventDefault();
contextMenu_element = e.target;
menu.popup(e.x, e.y);
return false;
}
那么你可以在菜单项的点击功能中使用这个变量:
menu.append(new gui.MenuItem({
label: 'Edit',
click: function() {
console.log(contextMenu_element.getAttribute('id'));
}
}));
这里我们通过调用getAttribute('id')
来获取元素的ID。每次变量改变时,菜单项对当前选中的元素执行特定的操作。
您也可以使用menu
的属性作为变量。将contextMenu_element
替换为menu.element
相关文章:
- 显示菜单项
- 如何定义和渲染子菜单项,使用Aurelia's路由器
- 如何在没有2个项目的情况下更改菜单项href
- JQuery超级菜单全宽菜单项
- jQuery在部分上滚动时突出显示菜单项
- 突出显示菜单项及其子菜单项
- 突出显示菜单栏上的活动菜单项
- 可访问的更改菜单项,用于使用不引人注目的JS进行导航,而不是jQuery,
- 可访问性:为什么 Jquery 菜单明确将菜单项 tabindex 设置为 -1
- 当我选择菜单项时,如何播放html5播放器的视频
- 什么脚本隐藏父菜单项
- 如何在两种条件下显示相同的上下文菜单项
- 使用粘性滚动菜单链接打开手风琴式菜单项
- 使用CSS/JavaScript在活动页面上突出显示活动导航菜单项,无id
- 单击后要显示相关的菜单项
- 如何在浏览器中禁用或删除粘贴上下文菜单项
- 使用jquery突出显示下一个菜单项
- 在具有固定菜单的单页网站中定位当前菜单项
- js将元素ID传递给菜单项
- Selenium Webdriver没有基于文本、xpath或ID点击菜单项