日期:2014-05-17  浏览次数:20640 次

Dojo innerHTML 代码不能执行的解决方案
有的时候需要用javascript动态生成一些html,常用的方式为动态拼一串html,然后通过innerHTML输出到dom中。类似
sourceNodeDiv.innerHTML="<div style='width:95%'>" +
			"<table style='width:100%'>" +
			"<tr><td width='20%' style='text-align:right'>System:</td>" +
			"<td>" +
			"<select onchange='Discovery.chooseSystemSourceNode()' id='id_system_node_select' [color=red]dojoType='dijit.form.ComboBox'[/color]></select>" +
			"</td></tr></table></div>";

但通过innerHTML输出的html不能执行,比如dojoType='dijit.form.ComboBox',生成的text为dojotype='dijit.form.ComboBox',dojoType小写了。这样就达不到想要的结果。

解决方案为生成html后,dojo.parser.parse(sourceNodeDiv);