在调用自定义函数时创建jQuery事件侦听器

时间:2014-09-25 21:35:35

标签: javascript jquery

我有一个函数,让我们调用它:myFunction,我经常使用它。大部分时间,我都不在乎什么时候打电话。但是,有时,知道何时调用它以便我可以执行某些操作会很好。有没有一种方法可以在不编辑myFunction的情况下在jQuery中创建一个监听器,这样当myFunction完成后,我可以调用另一个函数?

例如:

<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”的警报。这显然是一个简化的例子,但它让我明白了......我希望。

1 个答案:

答案 0 :(得分: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();
});