2013-12-23 75 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