在Dojo中创建时提供div的关闭按钮

时间:2017-12-04 12:03:18

标签: dojo

我正在动态创建一个div。

var item = domConstruct.create("div", null, test);
item.innerHTML = "New Div";

在创作时,我得到一个标有“New Div”的div。我希望用户将名称添加到div和关闭按钮,以便他们可以在创建后删除div。 Image of div with edit and delete button

对此的任何帮助都会很棒。

由于 库马尔

1 个答案:

答案 0 :(得分:0)

从我的角度来看,将所有控件定义为模板化小部件将是一种更好的方法。您不必使用domConstruct来创建模板化小部件的新实例。 在小部件内部,您可以将事件附加到关闭按钮以删除您的div。像这样:

<强> MyDiv.js

    define([
    "dojo/_base/declare",
    "dijit/_WidgetBase",
    "dijit/_TemplatedMixin",
    "dojo/text!MyDiv.html"
], function (
    declare,
    _WidgetBase,
    _TemplatedMixin,
    template
) {
    return declare("MyDiv", [_WidgetBase, _TemplatedMixin], {
        templateString: template,
        deleteDiv: function () {
            //do some stuff
            this.destroy(); //destroy widget and its dom node

        }
    });
});

MyDiv.html可能如下所示:

<div>
    <span>Some text</span>
    <span data-dojo-attach-event="click: deleteDiv">Close Me</span>
</div>

此处链接到有关此主题的dojo文档: _TemplatedMixin