2013-12-23 63 views
0

我试图使一个元素全屏与onclick事件。它在单击事件函数中与以下代码一起工作良好:全屏与jquery选择器

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

fullScreen函数正确处理请求。但是,当我尝试使用同样的代码,但替补多了的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对象使用.get()[index]来访问这些收集的元素,原始DOM元素的集合

+1

或简单地'var element = $('#fullscreenDiv')[0];' – dfsq

+0

太棒了!两种解决方案都可行。谢谢!也为解释! – user3129215