Использование jQuery и webkitEnterFullscreen () - PullRequest
2 голосов
/ 28 февраля 2012

Я пытаюсь запустить полноэкранное видео на iPad, где пользователь может коснуться изображения, и видео запустится в полноэкранном режиме.

У меня это работает, но я должен прекратить использовать jQuery для одной вещи.

        $(function(){

            // hide video and button until we know they're loaded
            $("#myVideo").css({'visibility' : 'hidden', 'display' : 'none'});
            $("#fs").css({'visibility' : 'hidden'});

            // video is loaded
            $("#myVideo").bind('loadedmetadata', function () {
                // show button to launch video
                $("#fs").css({'visibility' : 'visible'});
            });

            // extend button functionality
            $('#fs').bind('click', function() {
                // display the video
                $("#myVideo").css({'visibility' : 'visible', 'display' : 'block'});

                // launch the video fullscreen
                $("#myVideo").webkitEnterFullscreen();
            });
        });

Клик в итоге возвращает Uncaught TypeError: Object [object Object] has no method 'webkitEnterFullscreen'

Однако, когда я меняю свою привязку / клик на:

            // extend button functionality
            $('#fs').bind('click', function() {
                // display the video
                $("#myVideo").css({'visibility' : 'visible', 'display' : 'block'});

                // launch the video fullscreen
                var vid = document.getElementById("myVideo");
                vid.webkitEnterFullscreen();
            });

Тогда все работает без ошибок. Что я делаю не так с моим jQuery?

1 Ответ

2 голосов
/ 28 февраля 2012

Из того, что я могу сказать, проблема в том, что селекторы jQuery возвращают массив совпадающих элементов, помещенных в объект jquery.Одним из вариантов будет $('#myVideo')[0].webkitEnterFullscreen();, хотя обычно вы должны запускать селекторы только один раз, поскольку каждый раз, когда это вызывает поиск DOM.

Связанный ответ: https://stackoverflow.com/a/4070010/701062

...