2017-04-11 13 views
0

テンプレートベースのウィジェットでは、テンプレートにテーブルがあります。テーブルのボディが構築されます 私のウィジェットでdomConstructを使用しています。問題は、 "a"要素のクリックイベント が機能しないということです。それをクリックすると何も起こらず、エラーやマッサージは表示されません(テンプレート内の他のクリックイベントはうまく動作します)。問題はプログラムによってdomConstructを使って行われたこのイベントのみです。 (それは私が「」それは右である場合、私はそれを行う方法がわからない?elemet解析しなければならないことも可能である。)テンプレートのdojo - clickイベントが機能しません

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 "); 
}, 
+0

ありがとう。コードを変更する方法を教えていただけますか?私はコードを変更しましたが、何も起こりませんでした。新しいコード: – ehsanpaknahad

+0

更新されたコードをお知らせください。 { \t \t \t \t \t domConstruct.place(lang.replace(」​​{t0}​​{T1}​​{T2}(; iはresult.features.lengthを Himanshu

答えて

0

あなたは<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); 

OR

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); 

} 
関連する問題