显示dojo简单对话框时出错

显示dojo简单对话框时出错,dojo,ibm-mobilefirst,dojox.mobile,Dojo,Ibm Mobilefirst,Dojox.mobile,我编写了一个单击函数来显示一个简单的dojo对话框,但它显示的是 无快速绘制=错误 这实际上适用于Nexus4、5和其他设备,但不适用于三星GalaxyS2 on(dojo.byId("send_email"), "click", function() { console.log("emailClicked1"); dijit.registry.byId("emailDialog").sh

我编写了一个单击函数来显示一个简单的dojo对话框,但它显示的是

无快速绘制=错误

这实际上适用于Nexus4、5和其他设备,但不适用于三星GalaxyS2

 on(dojo.byId("send_email"), "click", function() 
            {
                    console.log("emailClicked1");
                    dijit.registry.byId("emailDialog").show();
                    dojo.byId("emailsText").value="";
                    dojo.byId("dialogFlag").value="emailDialog";
                    console.log("emailClicked2");
            });
我可以看到控制台电子邮件Clicked1和Clicked2,但无法在UI中看到对话框

<div id="emailDialog" data-dojo-type="dojox.mobile.SimpleDialog">
        <form id="emailDialogForm">
            <div id="emailDialogText">
                <p class="blue_text" style="text-align: left;">To:</p>
                <input id="emailsText" type="email"
                    style="line-height: 2em; width: 95%; margin: 3px; border: none; padding: 2px; font-size: 0.65em;"
                    placeholder="Enter email ID (Separate multiple IDs by ,)" />
            </div>
            <div class="button_grid">
                <input type="submit" id="submitEmail" value="Send" /> <input
                    type="button" id="cancelEmail" value="Cancel" />
            </div>
        </form>
    </div>

到:


在onclick函数处理程序中,对话框的“show()”操作是异步的。因此,任何处理对话框内容的代码都必须在show()完成后才能执行。i、 e、需要处理延迟的操作

console.log("emailClicked1");
var def = dijit.registry.byId("emailDialog").show();
if(def) {
 def.then(function(success) {
   dojo.byId("emailsText").value="";
 });
}
dojo.byId("dialogFlag").value="emailDialog";
console.log("emailClicked2");