Dojo - 为动态创建的元素

时间:2016-05-03 13:12:42

标签: dom dojo

您好我正在尝试向动态创建的"<a></a>"元素添加事件侦听器,但没有成功。

这是项目/元素:

var item = "<div class='item' id='" + id + "'>"
            + "<div class='cell ion-chevron-right'>"
            + "<span class='cell items'>" + text + "</span>"
            + "<a id='" + id + "_icon' class='mIcon ion-ios-close-outline' style='margin-left:-22px; font-size:18px;'></a>"
            + "</div>"
            + "<div class='cell'>" + price + "</div>"
            + "</div>";

            return item;
          }

在这里我将其插入HTML:

var addAccessorie = function(id, text, price){
            var m = id + "_accessorie";
            dojo.place(newAccesorieItem(m, text, price)
            ,"maintenance_accessorie"
            ,"after"); // before/after
          }

如何在 DOJO 中向"<a>"添加CLICK事件?

2 个答案:

答案 0 :(得分:2)

使用dojo/dom-construct创建<a>元素,然后使用dojo/on绑定onclick事件。

var aElement= domConstruct.toDom("<a id='" + id + "_icon' class='mIcon ion-ios-close-outline'
             style='margin-left:-22px; font-size:18px;'></a>");

on(aElement, 'click', function(){
    //Your click handler
});

答案 1 :(得分:1)

如果你保持代码完全一样, 你可以这样做:

    var addAccessorie = function(id, text, price){
        var m = id + "_accessorie";
        dojo.place(newAccesorieItem(m, text, price)
        ,"maintenance_accessorie"
        ,"after"); // before/after

        on(dom.byId(m + '_icon'), 'click', function(){
            //what needs to be done when <a> is clicked
        });
      }

只需添加dojo/domdojo/on

即可