2014-09-25 46 views
0

我有一个函数,让我们调用它:myFunction,我用了很多。大多数时候,我不在乎什么时候召唤。但是,有时候,最好知道它何时被调用,以便我可以执行某些操作。有没有一种方法可以在不编辑myFunction的情况下,在jQuery中创建一个侦听器,以便在myFunction完成时可以调用另一个函数?为自定义函数调用时创建一个jQuery事件监听器

例如:

<script> 
var foo = "foo"; 
function myFunction() { 
    foo += "bar"; 
} 
function afterMyFunction() { 
    alert(foo); 
} 

$(function() { 
    #some sort of listener for when myFunction is done --- ???# 

    myFunction(); 
}); 
</script> 

我想,加载网页时,为了有一个警告,简单地说,“FOOBAR”。这显然是一个简化的例子,但它让我意识到...我希望。

+0

http://api.jquery.com/jquery.callbacks/的[jQuery的调用一个回调函数 – isherwood 2014-09-25 21:39:22

+0

可能重复自定义函数](http://stackoverflow.com/questions/7866787/jquery-calling-a-callback-function-in-a-custom-function) – isherwood 2014-09-25 21:40:55

回答

0

没有编辑功能,我不知道如何。 但随着编辑就可以触发这样的自定义事件:

JS

var foo = "foo"; 
function myFunction() { 
    foo += "bar"; 
    $('body').trigger('myFunctionDone'); 
} 
function afterMyFunction() { 
    alert(foo); 
} 

$(function() { 
    $('body').on('myFunctionDone',function(){ 
     console.log('done'); 
    }); 

    myFunction(); 
}); 
+0

我知道这一点,我只是不知道是否有一个方法来做我在原帖中提出的问题。就像我说的,大多数情况下,我不在乎函数何时被调用......但在我所做的罕见情况下,能够添加侦听器会很好。感谢您的回应! – Brds 2014-09-25 21:49:40