我正在使用dojo的dijit/Dialog模块。 Ajax 弹出窗口工作正常,但是当我在该弹出窗口中包含任何无法正常工作的 javascript 时,请查看下面的代码。
<script src="<?php echo $this->basePath()?>/js/dojo_lib/dojo/dojo.js" data-dojo-config="isDebug:1, async:1"></script>
<script>
require(["dijit/Dialog"]);
</script>
<a title="Create a New Account" class="registration" href="javascript:void(0);" onclick="dijit.byId('user_registration').show();">Registration</a>
<div class="dijitHidden">
<!-- dialog that gets its content via ajax, uses loading message -->
<div data-dojo-type="dijit.Dialog" style="width:600px;" data-dojo-props="title:'Register',href:'/account/register',loadingMessage:'Loading form...'" id="user_registration"></div>
</div>
以上代码用于显示弹出窗口。
弹出页面是这样的
<div>
Register
</div>
<script>
alert('Hello');
</script>
此警报在该弹出窗口中不起作用。 请帮忙
最佳答案
tik27 可能有最好的一般答案(它解释了为什么它不能开箱即用)。
如果您不想自己进行评估,Dojo 还有一个名为 dojox/widget/DialogSimple
的模块/小部件(以及 dojox/widget/Dialog
)并且它有一个属性executeScripts
。如果启用它,它将评估该页面上的所有脚本。
因此,如果您不想自己进行脚本评估,请尝试使用 this widget .
关于javascript - 为什么 Javascript 不能在 digital.Dialog 弹出窗口中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16944129/