2010-06-03 52 views
3

是否有可能一個jQuery的document.ready函數中的以下代碼轉移到一個單獨的JavaScript功能,以便它可以被稱爲就像任何其他的JavaScript功能,即:將document.ready函數移到單獨的javascript函數中?

<script type="text/javascript"> 
$(document).ready(function() 
{ 
    $('div#infoi img[title]').qtip({ 
     position: { 
     adjust: { x:-110, y:0 }, 
     corner: { 
      target: 'bottomLeft', 
      tooltip: 'topMiddle' 
     } 
     }, 
     style: { 
     width: 250, 
     padding: 5, 
     background: '#E7F1FA', 
     color: 'black', 
     textAlign: 'center', 
     border: { 
      width: 3, 
      color: '#65a9d7' 
     }, 
     tip: 'topRight' 
     } 
    }); 
}); 
</script> 

如果是的話,那麼如何 - 如果沒有,那就回答我的問題。

回答

0

這當然是可能的 - 您只需確保文檔在您調用該函數的位置完全加載!另外,我不確定爲什麼這樣做會有意義,看起來你似乎正在初始化一個工具提示?

至於如何,只需更換

$(document).ready(function() 

通過

function my_function_name() 
+0

的原因是因爲這個問題,我在這裏問在堆棧溢出http://stackoverflow.com/questions/2963294/qtip-jquery-plugin-not-always-firing – tonyf 2010-06-03 11:29:51

5

Pekka的答案是正確的,但您可能需要其他一些信息,例如如何調用它,所以例如,如果我們有這個目前:

$(document).ready(function() { 
    alert("DOM Ready!"); 
}); 

然後把它放在一個名爲函數來代替,就像這樣:

function myFunc() { 
    alert("DOM Ready!"); 
} 

現在你可以使用在任何地方myFunc()調用它.. 。如果你仍然想還不如說是在document.ready,語法是很短,像這樣:

$(myFunc); 
//this is equivalent to: 
$(document).ready(myFunc); 

巴sically只要您有一個匿名function() { },你可以將它命名爲命名爲功能外還有通過名字來稱呼它,因爲我有上述情況,.ready(myFunc)很容易被$("#thing").click(myFunc)例如:)

+0

優秀的暱稱 - 感謝您的額外信息。 – tonyf 2010-06-03 14:59:49

相關問題