我正在开发一个照片编辑器webapp Photopea。
按B键时,切换到具有自定义光标的画笔工具。您可以使用 [和] 键更改画笔直径(使直径更大或更小)。
在MacOS上按下某个键时,它会一直隐藏光标,直至移动鼠标。对于使用按键更改画笔直径的用户,光标会消失,并且无法看到新直径的预览。
原生应用可以阻止Mac OS上的此默认行为。网络应用也可以阻止它吗?
在下面的演示中,您可以看到按键时光标会发生什么:
var down = [];
var msg = document.getElementById('state-msg');
document.body.addEventListener('keydown', function(e) {
e.stopPropagation();
e.preventDefault();
if (down.indexOf(e.key.toLowerCase()) == -1) down.push(e.key.toLowerCase());
msg.textContent = JSON.stringify(down);
});
document.body.addEventListener('keyup', function(e) {
e.stopPropagation();
e.preventDefault();
down.splice(down.indexOf(e.key.toLowerCase()), 1);
msg.textContent = JSON.stringify(down);
});

<span id="state-msg"></span>
&#13;