我有一个jQuery插件,它将返回一个稍后调用它的函数。 这是必要的,因为如果元素发生变化,则需要刷新插件。例如,您可以致电:
$('.test').test()
如果你对所有.test-elements进行了更改,那么你可以使用
刷新jQuery插件$('.test').test().init()
但是每当我调用$('.test').test().init()
时,该函数将被执行两次。你能告诉我为什么吗?
答案 0 :(得分:1)
你在test()中调用init(),所以行
$('.test').test().init();
表示将调用init()两次。 [除了第一次调用test()时调用的单次时间。你正在返回函数指针,但不会调用它。如果你在ready()函数中这样做了怎么办?
var func = $('.test').test();
setTimeout(function(){
func.init();
},1000);