jQuery插件函数返回

时间:2014-03-17 18:40:57

标签: javascript jquery function plugins

我有一个jQuery插件,它将返回一个稍后调用它的函数。 这是必要的,因为如果元素发生变化,则需要刷新插件。例如,您可以致电:

$('.test').test()

如果你对所有.test-elements进行了更改,那么你可以使用

刷新jQuery插件
$('.test').test().init()

但是每当我调用$('.test').test().init()时,该函数将被执行两次。你能告诉我为什么吗?

http://jsfiddle.net/WBE8Q/

1 个答案:

答案 0 :(得分:1)

你在test()中调用init(),所以行

$('.test').test().init();

表示将调用init()两次。 [除了第一次调用test()时调用的单次时间。你正在返回函数指针,但不会调用它。如果你在ready()函数中这样做了怎么办?

var func = $('.test').test(); 
setTimeout(function(){
    func.init();
},1000);