せずに動作していない私は、次のjqueryのAJAX呼び出しがあります。jQueryのカスタムイベントは、setTimeoutを
$.ajax({
type: "POST",
url: url,
data: data,
success: function (data, textStatus, jqXHR) {
// Without setTimeout, the triggerHandler doesn't work
setTimeout(function (e) {
$(this).triggerHandler($.Event("CustomEvent"));
});
}
});
、別の場所で:
$(this).on('CustomEvent', function (evt) {
alert("CustomEvent");
});
上記のコードは、警告が表示されます。しかし、私がtriggerHandlerを呼び出す場合は、のsetTimeoutが呼び出されることはなく、警告は表示されません。これが動作するためにsetTimeoutが必要であると思われるアイデアはありますか?
完全なjsコードを投稿することは役に立ちます...または最小限の作業例 –
私は 'this'のスコープが' $ 'の' success'ハンドラ内にあるとは思いません.ajax' –
あなたのajaxの 'complete'関数に入れてみてください。 –