这是我的情况。我需要先运行此方法
$(editor.image.toggleCaption);
然后:
alert('hello world');
如果我这样做:
$(editor.image.toggleCaption);
alert('hello world');
它不起作用,因为alert
是在方法完成之前触发的。
我可以使它起作用的唯一方法是使用setTimeout。但这是一个静态解决方案,因此我想避免使用它。
我尝试过$.Deferred
,但是我不知道如何设置它,并且尝试过的所有组合都无效。
有人可以帮我吗?
预先感谢
答案 0 :(得分:1)
使用when
似乎可行。请参考https://api.jquery.com/jquery.when/。将$('.test').hide('slow')
替换为您的函数。希望有帮助
$.when($('.test').hide('slow')).then(function(){
alert(1);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="test">Some Contents</div>