【问题标题】:Node-Webkit Menubar Add New Item Inside createMacBuiltin ListNode-Webkit 菜单栏在 createMacBuiltin 列表中添加新项目
【发布时间】:2015-09-20 17:20:50
【问题描述】:

我正在为 node-webkit mac 应用程序制作菜单栏。
我正在尝试将“替换”菜单项附加到第二个/根菜单(编辑 > 撤消、重做等)。
我知道如何附加到.createMacBuiltin() 创建的默认菜单栏,但它只附加到该列表的顶部。我想在“全选”之后附加“替换”。有没有办法将它附加到该列表的下方?

// Create menu container
var Menu = new gui.Menu({
  type: 'menubar'
});

//initialize default mac menu
Menu.createMacBuiltin("Hello World");

// Get the root menu from the default mac menu
var editMenu = Menu.items[1].submenu;
var windowMenu = Menu.items[2].submenu;

// Append new item to root menu
editMenu.insert(
  new gui.MenuItem({
    type: "normal",
    label: 'Replace',
    key: "f",
    modifiers: "cmd+alt",
    click : function () {
      $("[data-action=replace]").trigger("click");
    }
  })
);
windowMenu.insert(
  new gui.MenuItem({
    type: "normal",
    label: 'Toggle Fullscreen',
    key: "F",
    modifiers: "cmd",
    click : function () {
      win.toggleFullscreen();
    }
  })
);
windowMenu.insert(
  new gui.MenuItem({
    type: "normal",
    label: 'Reload App',
    key: "r",
    modifiers: "shift+cmd",
    click : function () {
      location.reload(true);
    }
  })
);

// Append Menu to Window
win.menu = Menu;

【问题讨论】:

    标签: javascript node-webkit


    【解决方案1】:

    看起来editMenu.insert 会将菜单项添加到顶部,但editMenu.append 会将其添加到底部。 ()

    我还没有找到删除 DictationEmoji & Symbols 的方法,但能够通过以下方式解决我的问题。

    // Append new item to root menu
    editMenu.append(
      new gui.MenuItem({
        type: "normal",
        label: 'Replace',
        key: "f",
        modifiers: "cmd+alt",
        click : function () {
          $("[data-action=replace]").trigger("click");
        }
      })
    );
    

    我能够使用以下方法成功删除“About MyApp”...

    rootMenu.removeAt(1);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-19
      • 1970-01-01
      • 1970-01-01
      • 2015-12-12
      • 2012-12-05
      • 2017-01-29
      相关资源
      最近更新 更多