Rumah > Soal Jawab > teks badan
我说的不是Keycode
不是按下键盘上的ESC.
就是单击一个效果然后模拟下ESC就退出全屏播放的效果。
巴扎黑2017-04-11 12:39:41
本来可以用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>
迷茫2017-04-11 12:39:41
如果你用的flash播放器,可以有全屏的进出事件API,可以调用,事件触发就好了。如果你用的video标签,好像是没有这个的,但是宽高是可以设置的,事件触发,你就改变宽高和一些相应的东西就好了