2012-01-09 58 views
2

我一直在看一些文檔,我仍然感到困惑。我該如何對此進行回調?

我想做這個回調函數:

$('.scroll-pane').jScrollPane(); 

現在文檔顯示這個例子

function fn1(value){ 
    console.log(value); 
} 

爲什麼分號是在我的第一個例子中結束,並在第二個分號似乎只是在另一個回調函數的末尾,據我所知?

謝謝大家:)

+1

您似乎有點困惑...鏈接到您所說的文檔?你還想完成什麼? – jondavidjohn 2012-01-09 15:38:33

+0

我想'jScrollPane'完成後執行一個函數。 – pufAmuf 2012-01-09 15:42:15

回答

7

JavaScript中的分號用於終止的聲明。你的第一個例子是一個聲明(它調用$('.scroll-pane')函數調用返回的對象的jScrollPane函數)。你的第二個例子是一個函數聲明,它沒有以分號結尾(也沒有for循環,if塊等)。你的兩個例子似乎都沒有涉及回調,只是調用。

回覆您的評論:

因此,如何將我後jScrollPane完成執行語句?

不確定「完成」是什麼意思。在元素上調用jScrollPane只會立即創建窗格。如果您希望jScrollPane在發生事件時回撥您,則綁定到該事件。例如:

$('.scroll-pane').jScrollPane().bind('jsp-scroll-y', function(event) { 
    // The "jsp-scroll-y" event fired on the element identified by `this` 
}); 

這個掛鉤了一個匿名函數,當事件發生時被調用。或者你可以使用一個命名函數:

$('.scroll-pane').jScrollPane().bind('jsp-scroll-y', scrollHandler); 

function scrollHandler(event) { 
    // The "jsp-scroll-y" event fired on the element identified by `this` 
} 

(函數聲明並不一定是正確那裏的bind呼叫,在這種情況下)。

the docs

+1

謝謝T.J.!那麼如何在'jScrollPane'完成後執行語句呢? – pufAmuf 2012-01-09 15:43:29

+0

@pufAmuf:我已經用連接事件處理程序的示例更新了答案。 – 2012-01-09 15:52:36

+0

非常感謝:) – pufAmuf 2012-01-09 16:00:00

2

第一個例子是對已定義函數的調用(可能在jQuery插件中)。第二個例子是函數定義,它創建函數,以便在後面的代碼中調用它。