typescript 写鼠标监听事件应该怎么写
直接使用MouseEvent总是无法推断dom的属性
可以增加一个判断 帮助ts推断类型
const requestPointerLock = (e: MouseEvent) => {if(!(e.target instanceof HTMLElement)) return;if(e.target.tagName == 'CANVAS'){document.body.requestPointerLock();}};
或者直接强制类型 但是不太好看
document.addEventListener('click', (event: MouseEvent) => {// 获取鼠标点击的元素const clickedElement = event.target as HTMLElement;// 输出点击的元素console.log('点击的元素是:', clickedElement);// 你可以根据元素的类型或其他属性来判断是哪个元素if (clickedElement && clickedElement.tagName === 'BUTTON') {console.log('点击的是按钮!');}
});