0

私は非同期呼び出しをいじっています。ダッシュボードを生成し、ID「1」で初期化したいと考えています。クリックできる要素が生成され、要素を含む別のダッシュボードが生成されます。それは木のようなものです。

したがって、ID 1 のダッシュボードを生成できますが、クリックできません。コード内の非同期呼び出しが原因であることはわかっていますが、実際に修正する方法がわかりません。Deferred Objects をいじっていましたが、役に立ちませんでした。したがって、これが基本です:

/// <reference path="jquery.d.ts" />
/// <reference path="scripts/Dashboard.ts" />


$(document).ready(function ()
{
    init();
    jQuery('.Reference').click(function()
    {
        var classId = jQuery(this).attr('class');
        jQuery('#content').remove();
        generateDashboard(parseInt(classId), (d: Dashboard): void =>
        {
            d.printDashboard();
        });

    });
});

function generateDashboard(param: number, callback: (d: Dashboard) => void): void
{
    new Dashboard(param, callback);
}


function init()
{
    generateDashboard(1, (d: Dashboard): void =>
    {
        d.printDashboard();
    });

}

前もって感謝します :)

編集: ここで生成された HTML。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dashboard</title>
<link type="text/css" href="app.css" rel="stylesheet">
<script src="jquery.js">
<script src="app.js">
<script src="scripts/Helper.js">
<script src="scripts/Dashboard.js">
<script src="scripts/Elements.js">
<script src="scripts/Leaf.js">
<script src="scripts/Status.js">
<script src="scripts/Threshold.js">
<script src="scripts/Item.js">
</head>
<body>
<h1 id="dashboard"></h1>
<div id="content">
<div class="1">Element-1</div>
<div class="31">Element-4</div>
<div id="31" class="Reference">Element-2</div>
</div>
</body>
</html>
4

0 に答える 0