<script>
require(["dojo/dom", "dojo/dom-construct", "dojo/on", "dojo/domReady!"], function(dom, domConstruct, on) {
domConstruct.empty(dom.byId("buttonNode"));
});
var count=1;
function change() {
if(count == 1) {
require(["dojo/ready", "dijit/form/Button", "dojo/dom"], function(ready, Button, dom){
ready(function(){
var myButton = new Button({
label: "Count 1",
onClick: function(){
count++;
change();
}
}, "buttonNode");
});
});
} else if(count ==2) {
require(["dojo/ready", "dijit/form/Button", "dojo/dom"], function(ready, Button, dom){
ready(function(){
var myButton = new Button({
label: "Count 2",
onClick: function(){
count++;
change();
}
}, "buttonNode");
});
});
}
}
</script>
</head>
<body class="claro" onload="change()">
<button id="buttonNode" type="button" onclick="change()"></button>
</body>
</html>
ボタンをクリックすると表示される id==buttonNode でウィジェットを登録しようとしましたが、その ID は既に登録されていますが、domConstruct.empty を使用して新しいボタンを作成する前に古いボタンを削除しています。domConstruct.empty("buttonNode"); の両方を試しました。domConstruct.empty(dom.byId("buttonNode"));
送信リクエスト、キャンセルリクエストなど、ログインユーザーごとに異なるボタンが必要なので、状態を確認して新しいボタンを作成しています。問題は、その ID でボタンが既に作成されている場合、ボタンを置き換えることができない場合です。助けてください。