在Electron中,我有以下脚本是我的main.js
,它是一个恢复窗口并将其聚焦的快捷方式,但是我想将输入聚焦在窗口内。我如何实现这一目标?
main.js
app.on('ready', function(){
createWindow();
var ret = globalShortcut.register('Command+Control+Alt+G', function() {
mainWindow.restore();
mainWindow.focus();
$('.js-search').focus();
});
})
答案 0 :(得分:5)
在页面焦点上,您可以使用webContents从主进程向渲染器进程发送消息。
页面(渲染器进程)可以侦听该消息,然后聚焦元素本身。
主要流程
globalShortcut.register('Command+Control+Alt+G', function() {
win.restore();
win.focus();
win.webContents.send('focus-element', '.js-search');
});
渲染器处理(页面)
<script>
const {ipcRenderer} = require('electron');
ipcRenderer.on('focus-element', (event, selector) => {
document.querySelector(selector).focus();
});
</script>