我正在努力让 Dijit 对话框适用于可重现的示例。我从 this JSfiddle 获取了工作代码并只是尝试将其转换为命名函数以在整个示例中使用。
作者使用:
new Button({label: 'Show dialog', onClick: function() {
//Create dialog programmatically here
}
});
但我已将其更改为略有不同:
function launchSelectDialog(selectOptions) {
//Create dialog programmatically here
}
registry.byId("default-launch", "onClick", launchSelectDialog(allOpts));
Here is my version.不幸的是,这只是在加载页面时立即启动对话框,而在单击按钮时不再启动对话框。
我已经检查了 JSFiddle 中的 NoWrap 选项。我对发生的事情没有其他线索。 如果您有任何想法,请帮忙。
最佳答案
有几个问题。
1)就像其他人指出的那样,您正在调用该函数,而不是使用函数设置事件。因此该对话框在加载时可见。
2) 您需要等待 html 被解析。或者您需要使用 parser.parse()
这是更新后的 fiddler :http://jsfiddle.net/49y3rxzg/9/
关于javascript - JSFiddle 中的 Dijit 对话框立即启动 - 而不是 onClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39236636/