2013-10-05 21 views
7

我想了解JSFiddle如何在'onLoad'中基於此描述'換行'代碼: [1]:http://doc.jsfiddle.net/basic/introduction.html#javascript。我已經看到onLoad被用在HTML的BODY標籤中來加載函數。那麼JSF(幕後)是如何包裝每一個調用以及我在JS窗口中創建的每個函數?又名:JSFiddle包裝在onLoad?

onLoad = "myfunc1(),myfunc2,alert(1);" 

如果是的話,當我選擇的jQuery作爲一個框架,我應該避免使用此格式:

$(document).ready(function(){ 
    myfunc1{(...)} 
    myfunc1{(...)} 
    ... 

如果電樞問題道歉提前。

回答

10

他們把你所有的JS內部<script>標籤與onLoad事件代碼纏繞在它周圍。

例如,如果您選擇包括jQuery和onLoad那麼這就是的jsfiddle會用什麼:

<script type="text/javascript"> 
    //<![CDATA[ 
     $(window).load(function(){ /* your js here */ }); 
    //]]> 
</script> 

如果不包括圖書館,然後他們使用:

<script type="text/javascript"> 
    //<![CDATA[ 
     window.onload=function(){ /* your js here */ } 
    //]]> 
</script> 

我假定他們也使用其他圖書館特定的load事件,具體取決於您選擇包含的內容。

在小提琴中運行代碼時,不需要使用$(document).ready(function(){ });

注:什麼是CDATA看看這個答案一個很好的解釋 - 如果你正在尋找源代碼格式化https://stackoverflow.com/a/7092306/2287470

4

它使一個新的iframe中運行代碼。

對於onload事件,他們只是把所有的代碼在

window.onload = function() { 
    // your code here 
}; 

你可以看到這一點,如果你在<head>檢查<script>標籤右下角的iframe。


沒有錯,使用$(document).ready(...但是當你啓用的jsfiddle在onLoad選擇它有點沒用。