《DOMオブジェクト》.winControl.addEventListener( イベント名 , 処理 );このような形になるわけです。DOMオブジェクト自体にaddEventListenerしても全く機能しないので注意してください。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※default.htmlの<body>タグ
<body>
<p id="msg">Please click button...</p>
<br /><br /><br />
<button id="button1">Click</button>
<div id="confirmFlyout" data-win-control="WinJS.UI.Flyout">
<h2>FLYOUT!</h2>
<div>これがフライアウトです。</div>
<div><input type="text" id="confirmField" /></div>
<button id="confirmButton">はい</button>
</div>
</body>
※default.jsのスクリプト
(function () {
"use strict";
WinJS.Binding.optimizeBindingReferences = true;
var app = WinJS.Application;
var activation = Windows.ApplicationModel.Activation;
app.onactivated = function (args) {
if (args.detail.kind === activation.ActivationKind.launch) {
if (args.detail.previousExecutionState !== activation.
ApplicationExecutionState.terminated) {} else {}
args.setPromise(WinJS.UI.processAll().then(function completed() {
var button1 = document.getElementById("button1");
button1.addEventListener("click", doAction, false);
var dlogbtn = document.getElementById("confirmButton");
dlogbtn.addEventListener("click", confirmAction, false);
var flyout = document.getElementById("confirmFlyout");
var field1 = document.getElementById("confirmField");
var msg = document.getElementById("msg");
flyout.winControl.addEventListener("beforeshow", function (event) {
field1.value = "";
}, false);
flyout.winControl.addEventListener("afterhide", function (event) {
msg.textContent = "入力テキスト:" + field1.value;
}, false);
}));
}
}
app.oncheckpoint = function (args) {};
// ※追加した関数
function doAction(event) {
var flyout = document.getElementById("confirmFlyout");
var button1 = document.getElementById("button1");
flyout.winControl.show(button1, "right");
}
function confirmAction(event) {
document.getElementById("confirmFlyout").winControl.hide();
}
app.start();
})();
| << 前へ |