簡體   English   中英

計時JQuery AJAX調用

[英]Timing JQuery AJAX calls

我正在使用FullCalendar插件,並且在嘗試填充div(事件)列表並將其初始化為FullCalendar事件對象時遇到一些問題。

最初,事件是硬編碼的,所以一切都很好。 然后,我嘗試使用此方法首先填充事件選項:

//This part is working
    $(document).ready(function() {

                $.ajax({
                    type: "POST",
                    url: "myService.asmx/getOperators",
                    contentType: 'application/json; charset=utf-8',
                    success: function(doc) {

                        var ops = (eval(doc.d));

                        for (var i = 0; i < ops.length; i++) {

                            $('#external-events').append('<div class="external-event">' + ops[i].FullName + '</div>');
                            alert(ops[i].FullName + " has been added to the div");
                        }



                    }
                });

然后,在腳本末尾,我嘗試遍歷每個div並初始化它,如下所示:

 $('#external-events div.external-event').each(function() {

            $(this).data('eventObject', eventObject);

            });

問題是,初始化運行時尚未插入div。 我嘗試了.delay,但無法正常工作。

我想嘗試在添加每個div時對其進行初始化-但我不知道如何在沒有.each循環的情況下引用動態創建的對象(即.each使用“ this”來引用每個元素)

有人可以告訴我如何在AJAX調用完成后計時第二個例程的運行時間,或者如何引用一組具有相同類名的動態創建的元素嗎?

您可以在for循環結束后立即將初始化代碼添加到ajax的成功函數中:

                    success: function(doc) {
                        var ops = (eval(doc.d));

                        for (var i = 0; i < ops.length; i++) {
                            $('#external-events').append('<div class="external-event">' + ops[i].FullName + '</div>');
                            alert(ops[i].FullName + " has been added to the div");
                        }

                        $('#external-events div.external-event').each(function() {
                            $(this).data('eventObject', eventObject);
                        });
                    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM