Owyn
Owyn

Reputation: 673

use ESC key to enter fullscreen

all keys can be used to enter fullscreen but seems like not the ESC one (It enters fullscreen but exits it immediately after, seems like preventDefault isn't helping)б any ideas?

function onkeydownP(b) 
{
    switch (b.keyCode) 
    {
    case 27: // KeyEvent.DOM_VK_ESC
        var el = document.documentElement
        var rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen;
        rfs.call(el);
        b.preventDefault();
        break;
    }
}
window.addEventListener("keydown", onkeydownP, true);

EDIT: Fixed keycode in code to right one

Upvotes: 1

Views: 608

Answers (1)

Jace Cotton
Jace Cotton

Reputation: 2014

Change the event key to 27 (ESC). A helpful resource http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

Also, you're missing a semicolon at the end of your el declaration. Change your code to:

function onkeydownP(b) 
{
    switch (b.keyCode) 
    {
    case KeyEvent.DOM_VK_DOWN:
        var el = document.documentElement;
        var rfs = (el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen);
        rfs.call(el);
        cancelEvent(b);
        break;
    case 27: // KeyEvent.DOM_VK_ESC
        var el = document.documentElement;
        var rfs = (el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen);
        rfs.call(el);
        b.preventDefault();
        cancelEvent(b);
        break;
    }
}

Upvotes: 1

Related Questions