我正在尝试在用户点击链接时打开dijit.Dialog
。
此外,我希望这个对话框在对话框打开时获取iframe的远程内容(例如google主页),而不是在包含对话框的页面加载时。
这是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/
然而,这似乎不起作用......
答案 0 :(得分: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>