电子托盘应用程序可以使用 Tray.displayBalloon 方法显示气球,该方法采用具有 title , content 和可选的 icon 属性。
据我所知,气球界面不包含click或onClick属性。 Tray 类的确有一个 balloon-click 事件,该事件会在单击气球以及单击 balloon-closed 和 balloon时触发-show 事件。但是,传递给回调函数的 event 对象似乎未包含对调度该事件的气球的引用。 (显示,单击或关闭的气球)
tray.on('balloon-click', console.log)
tray.on('balloon-show', console.log)
tray.on('balloon-closed', console.log)
日志:
{ preventDefault: [Function: preventDefault],
sender:
Tray {
_events:
{ 'balloon-click': [Function],
'balloon-show': [Function: consoleLog] },
_eventsCount: 2 } }
我的纸盘应用程序从其他来源发送气球通知。单击气球(导航至何处或打开哪个窗口)时会发生什么,具体取决于气球在说什么。
我需要引用被单击的气球,而不仅仅是某个地方在某个地方单击了气球。
我可以想到多种方法来实现解决方案,从简单的包装函数和 activeBalloon 变量到整个BalloonManager类,但我不想浪费时间,如果我只是忽略了这一点在Electron API文档中。
这个问题也在2017年8月的describe.atom.io上被问到了
来源:https://discuss.atom.io/t/tray-balloon-click-how-to-know-which-balloon-is-clicked/46744