$.Deferred();
オブジェクトを解決でき、多くの人がメソッドをサブスクライブできるdone/always/fail
ため、
「パブリッシャー/サブスクライバーとして使用できます...」
そこで、簡単なテスト ( JSBIN )を作成しました。
私は3つのチェックボックスを持っています:
そして、3つすべてがチェックされたときにアラートを表示したい:
var t = $.Deferred();
$(":checkbox").on('click',function (){
t.resolve("blabla");
});
t.done(function (val)
{
if($(":checkbox:checked").length==3) alert('ok');
});
ただし、done
コールバックは 1 回だけ解決されます。
このコードがサブスクライバー/パブリッシャーとして機能するようにするためにできることはありますか?
NB
には他にも多くの代替手段があることを知っていdeferred
ます。しかし、私の質問は具体的にはdeferred
(パブ/サブとして使用できる/できない)についてです。