本来可以用KeyboardEvent来实现的,但是这个浏览器的兼容性很差,有坑。
下面推荐一种自定义事件的方式来模拟,我是用document来监听事件的,可以换成你想要的DOM元素:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<button onclick="testEvent()">点我</button>
<script>
document.addEventListener('testEsc', function(e) {
//此处填写你的业务逻辑即可
console.log('模拟esc事件')
})
function testEvent() {
//自定义事件 testEsc
var event = new CustomEvent('testEsc', {
ctrlKey: false,
shiftKey: false,
altKey: false
});
//触发事件
document.dispatchEvent(event);
}
</script>
</body>
</html>
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…