模板中的dojo - click事件不起作用

xytpbqjk  于 2022-12-16  发布在  Dojo
关注(0)|答案(1)|浏览(162)

在基于模板的窗口小部件中,我在模板中有一个表。表体将在我的widget中使用domConstruct构造。问题是“a”元素的click事件不起作用。实际上当我点击它时没有任何React,日志也没有显示任何错误或消息。(My template中的其他click事件工作正常)唯一的问题是这个事件是使用domConstruct编程生成的。(可能我应该解析“a”元素?如果它是正确的,我不知道如何做。)

for (var i = 0; i < result.features.length; i++) {  
  domConstruct.place(lang.replace('<tr><td><a class="zoomto" data-dojo-attach-   event="ondijitclick:zoomto">{t0}</a></td><td>{t1}</td><td>{t2}</td><td>{t3}</td></tr>',{
  t0:i + 1,
  t1:result.features[i].attributes.rent,
  t2:result.features[i].attributes.OBJECTID,
  t3:result.features[i].attributes.ACCT
}), this.rowNode);

}

…..

zoomto: function () {       
  console.log("zoomto is clicked ");
},
qxsslcnc

qxsslcnc1#

您需要解析<a>元素或使用dojo/on附加事件。

for (var i = 0; i < result.features.length; i++) {  
  var element= domConstruct.toDom(lang.replace('<tr><td><a class="zoomto" data-dojo-attach-event="ondijitclick:zoomto">{t0}</a></td><td>{t1}</td><td>{t2}</td><td>{t3}</td></tr>',{
  t0:i + 1,
  t1:result.features[i].attributes.rent,
  t2:result.features[i].attributes.OBJECTID,
  t3:result.features[i].attributes.ACCT
}));
domConstruct.place(element, this.rowNode);

}
dojo.parser.parse(this.rowNode);

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

  var element= domConstruct.toDom(lang.replace('<tr><td><a class="zoomto" >{t0}</a></td><td>{t1}</td><td>{t2}</td><td>{t3}</td></tr>',{
  t0:i + 1,
  t1:result.features[i].attributes.rent,
  t2:result.features[i].attributes.OBJECTID,
  t3:result.features[i].attributes.ACCT
}));
dojo.on(element, 'ondijitclick', this.zoomto);
domConstruct.place(element, this.rowNode);

}

相关问题