1

我试图dijit.Dialog在用户单击链接时打开一个。

此外,我希望此对话框在对话框打开时而不是在包含对话框的页面加载时获取 iframe 的远程内容(例如谷歌主页) 。

这是JS:

dojo.require("dijit.Dialog");
dojo.require("dijit.form.Button");


function showDialog() {
    console.log('showDialog');
    dojo.byId('ifr').src = 'http://www.google.fr';
    dijit.byId('dialogOne').show();
}
var link = dojo.byId('link');
dojo.connect(link, 'onclick', showDialog);​

这是HTML:

<a href="#" id="link">open link</a>

<div id="dialogOne" data-dojo-type="dijit.Dialog" title="My external dialog">
<iframe id='ifr' width='300px' height='450px'>         </iframe>
</div>​

这是jsfiddle:http: //jsfiddle.net/8eenG/6/

但是,这似乎不起作用...

4

1 回答 1

1

我完全误读了您的问题,然后继续前进并开始破解。

这不会加载远程内容,但可以解决您的所有其他问题。

在此处查看演示:http: //jsfiddle.net/5uuCX/

Javascript

require(["dojo/parser", "dojo/on", "dojo/dom", "dijit/registry"], 
function(parser, on, dom, registry) {
    parser.parse();
    on(dom.byId("link"), "click", function(e) {
        registry.byId('dialogOne').show();
    });
});​

HTML

<a href="#" id="link">Click to Open Dialog</a>    
<div id="dialogOne" data-dojo-type="dijit/Dialog" title="My external dialog">
    <div id="foo" data-dojo-type="dojox/layout/ContentPane" href="http://fiddle.jshell.net/259fD/show/">    
    </div>
</div>​
于 2012-10-25T18:11:53.727 回答