Angular 11如何监听Ctrl+鼠标左键点击事件?
监听Ctrl+鼠标左键点击事件的实现方案
你不需要单独监听Ctrl键的按键事件,直接在鼠标点击事件中判断是否同时按住了Ctrl键即可,MouseEvent对象本身就提供了ctrlKey属性来标识Ctrl键是否被按下,同时通过button属性可以判断是否是鼠标左键点击(左键对应值为0)。
修改后的代码示例:
@HostListener('document:click', ['$event']) handleClickEvent(event: MouseEvent) { // 判断是否是Ctrl+鼠标左键点击 if (event.ctrlKey && event.button === 0) { console.log('Ctrl+鼠标左键点击触发'); // 这里添加你的业务逻辑 } }
代码说明
event.ctrlKey:布尔值,当点击时按住Ctrl键则为trueevent.button === 0:标识当前点击的是鼠标左键(右键为2,中键为1)
这种方式相比单独监听Ctrl键状态更可靠,避免了单独维护按键状态可能带来的同步问题。
内容的提问来源于stack exchange,提问作者shivansh modawal
相关产品推荐
相关产品推荐

