我该怎么做回调呢?

时间:2012-01-09 15:36:53

标签: jquery

我一直在看一些文档,我仍然很困惑。

我想对此做一个回调函数:

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

现在文档显示了这个例子

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

在我的第一个例子中,分号是如何结束的,而在第二个分号中,分号似乎只是在另一个回调函数的末尾?据我所知?

谢谢大家:)

2 个答案:

答案 0 :(得分:7)

JavaScript中的分号用于终止语句。您的第一个示例是一个语句(它调用jScrollPane函数调用返回的对象上的$('.scroll-pane')函数。您的第二个示例是函数声明,它不以分号结尾(也不是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 :(得分:2)

第一个例子是对已经定义的函数的调用(可能在jQuery插件中)。第二个例子是函数定义,它创建了函数,因此可以在以后的代码中调用它。