Maison  >  Questions et réponses  >  le corps du texte

javascript - js可以模拟ESC键盘事件吗?

我说的不是Keycode
不是按下键盘上的ESC.
就是单击一个效果然后模拟下ESC就退出全屏播放的效果。

PHPzPHPz2772 Il y a quelques jours661

répondre à tous(4)je répondrai

  • 巴扎黑

    巴扎黑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>

    répondre
    0
  • 怪我咯

    怪我咯2017-04-11 12:39:41

    当然可以,有何不可 ^.^

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-11 12:39:41

    经常看的视频网站的播放器不都是有一个全屏和退出全屏的图标按钮吗。可以的。

    répondre
    0
  • 迷茫

    迷茫2017-04-11 12:39:41

    如果你用的flash播放器,可以有全屏的进出事件API,可以调用,事件触发就好了。如果你用的video标签,好像是没有这个的,但是宽高是可以设置的,事件触发,你就改变宽高和一些相应的东西就好了

    répondre
    0
  • Annulerrépondre