2013-12-23 3 views
0

Я пытаюсь создать элемент в полноэкранном режиме с событием onclick. Он хорошо работает со следующим кодом в функции события щелчка:Полноэкранный режим с селектором jquery

var element = document.getElementById('fullscreenDiv'); 
fullScreen(element); 

Функция fullScreen обрабатывает запрос правильно. Но когда я пытаюсь использовать тот же самый код, но subsitute в document.getElementById с простым селектором JQuery, ничего не происходит:

var element = $('#fullscreenDiv'); 
fullScreen(element); 

Я не видят причины для такого поведения. Кто-нибудь объясняет это? Спасибо за ваши ответы!

полноэкранной функция выглядит следующим образом:

function fullScreen(element) { 
    if(element.requestFullScreen) { 
     element.requestFullScreen(); 
    } else if(element.webkitRequestFullScreen) { 
     element.webkitRequestFullScreen(); 
    } else if(element.mozRequestFullScreen) { 
     element.mozRequestFullScreen(); 
    } 
} 
+0

Вы нашли сообщение об ошибке в консоли? – dreamweiver

+1

Зависит от того, что ожидает ваша функция, можем ли мы увидеть функцию, пожалуйста. – Alex

ответ

2

fullScreen() функция ожидает получить элемент DOMNode, а не JQuery объект, как, что вы проходите через, если вы должны были пройти через элемент узла, который JQuery объект выбирает:

var $element = $('#fullscreenDiv'); 
fullScreen($element.get(0)); 

Это будет работать в качестве первого фрагмента кода, предназначенного тоже. Чтобы дать вам немного больше понимания, почему это происходит, объекты jQuery представляют собой набор необработанных элементов DOM, используя .get() или [index], обращается к тем собранным элементам.

+1

Или просто 'var element = $ ('# fullscreenDiv') [0];' – dfsq

+0

Удивительный! Оба решения работают. Благодаря! Также для объяснения! – user3129215

Смежные вопросы