2014-04-02 24 views
0

我想稍微清理一下我的代碼,並且希望在html文件中不帶任何函數調用的情況下運行我的jquery代碼。我實際的代碼是:如何在html文件中沒有任何代碼的情況下集成jquery代碼

HTML:

<head> 
    <script src="js/colorpick.js"></script> 
    <script> 
     $(document).ready(function() { 
      colorpick_start(); 
     }); 
    </script> 
</head> 

JS:

function colorpick_start() { 
... 
    } 

但如果我寫例如JS的第一行中的警報沒有任何函數調用,即工作。

alert('test'); 

    function colorpick_start() { 
    ... 
     } 

但這不適用於jquery選擇器或什麼的。有沒有什麼解決方案讓我的jquery在html文件中沒有代碼的情況下工作?

我想我的html文件,看起來像這樣,如果這是可能的:

<head> 
    <script src="js/colorpick.js"></script> 
</head> 
+0

將jQuery作爲頁面中的第一個腳本加載後,可以在'colorpick'文件的底部寫入以下內容:'$(colorpick_start);'。它應該在頁面上DOM準備就緒時觸發。 – MarcoL

+0

你應該像'alert()'函數那樣在運行時調用它。像這樣,你可以簡單地調用你的'colorpicker_start();' –

+0

如果我把$(colorpick_start);到它爲我工作的第一線!非常感謝。如果你想要,你可以把它寫成答案。 – TobiasW

回答

1

爲了實現這一點:

<head> 
    <script src="js/colorpick.js"></script> 
</head> 

移動文檔隨時調用您在HTML文件中引用的js文件,並確保所調用的方法是p怨恨。

$(document).ready(function() { 
     colorpick_start(); 
}); 

這應該是這樣吧。

2

$(document).ready(function() { 

等待,直到DOM準備選擇等

如果您加上

$(document).ready(function() { 

到你的colorpick.js文件,它將等待DOM準備就緒,然後執行colorpick_start()。

相信我這會在大多數人開始使用JQuery時發現它。

+0

我知道這件事,我以爲我做了很多次這樣的事情,但在這種情況下它也沒有工作,我不知道爲什麼。但是$(raumsettings_start);在第一行現在爲我工作。 – TobiasW

+0

哦,它工作,如果我只是在.ready中調用函數,我用ready函數替換了函數... – TobiasW

1

把你的腳本

<script src="js/colorpick.js"></script> 

之前</body>標籤。這將確保您的頁面在腳本啓動之前完全加載。

$(document).ready(function() { 
     colorpick_start(); 
    }); 

此代碼正在工作,因爲您在加載文檔後調用您的函數。文件加載是事件。你可以把你的函數放在你想要的任何事件上,但是如果你只是定義你的函數,它就不會開始。你必須以某種方式調用你的功能。例如將是對點擊(或文檔加載)

<div id="example"></div> 


    $("#example").on('click', function() { 

    your function here 

    }); 
0

使用該代碼:

$(function(){ 
    $('.colorpicker').val("colorpicker"); //or whatever you like 
}); 

Plnkr example code

相關問題