Windows 8 Javascript应用程序事件监听器问题
Windows 8 Javascript App Event Listener Issue
所以目前在我的windows 8 javascript应用程序中(基于导航模板),在应用程序启动时从default.js初始化点(home.html)导航到主页(home.html),在home.html对应的home.js文件中,我创建了这个手势系统来处理缩放和来回滑动(正常工作):
(function () {
"use strict";
WinJS.UI.Pages.define("/pages/home/home.html", {
// This function is called whenever a user navigates to this page. It
// populates the page elements with the app's data.
processed: function (element, options) {
MyGlobals.loadBooks();
if (!MyGlobals.localSettings.values['firstRunCompleted']) {
MyGlobals.localSettings.values['firstRunCompleted'] = true;
MyGlobals.loadXmlBooksIntoDatabase();
//MyGlobals.integrityCheck();
};
WinJS.Resources.processAll();
},
ready: function (element, options) {
var myGesture = new MSGesture();
var chapterContainer = document.getElementById("main-content-area");
myGesture.target = chapterContainer;
WinJS.Namespace.define("MyGlobals", {
myGesture: myGesture,
});
chapterContainer.addEventListener("MSGestureStart", this.gestureListener, false);
chapterContainer.addEventListener("MSGestureEnd", this.gestureListener, false);
chapterContainer.addEventListener("MSGestureChange", this.gestureListener, false);
chapterContainer.addEventListener("MSInertiaStart", this.gestureListener, false);
chapterContainer.addEventListener("MSGestureTap", this.gestureListener, false);
chapterContainer.addEventListener("MSGestureHold", this.gestureListener, false);
chapterContainer.addEventListener("pointerdown", this.gestureListener, false);
},
gestureListener: function (evt) {
console.log("in gesturelistener now");
if (evt.type == "pointerdown") {
MyGlobals.myGesture.addPointer(evt.pointerId);
return;
}
if (evt.type == "MSGestureStart") {
if (evt.translationX < -3.5) {
MyGlobals.nextChapterHandler();
};
if (evt.translationX > 3.5) {
MyGlobals.previousChapterHandler();
}
};
if (evt.type == "MSGestureChange") {
if (evt.scale < 1) {
MyGlobals.fontSizeModify("decrease");
};
if (evt.scale > 1) {
MyGlobals.fontSizeModify("increase");
}
};
},
问题是,当我使用WinJS.Navigation.navigate()导航到另一个页面时,当我使用WinJS.Navigation.navigate()导航回home.html时,上述所有事件监听器都不起作用,似乎没有添加到chapterContainer(从检查实时DOM)。但是,ready:函数中的所有其他事件侦听器都可以完美地工作(其他侦听器从上面的代码中省略)。我在这里做错了什么吗?非常感谢!
被导航到的页面也有一个id为"main-content-area"的div,并且事件侦听器将进入旧页面,而不是被导航到的页面。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- JavaScript Pub/Sub属性访问问题
- JavaScript异步问题
- jquery点击监听器的问题
- Javascript事件监听器问题
- ExtJs删除和添加监听器.缓存的问题
- jQuery事件监听器的问题
- JavaScript/jQuery事件监听器的图片加载IE问题
- Javascript事件监听器问题
- html5问题中canvas上的事件监听器
- 在循环中分配事件监听器的问题
- 多字段中的复选框监听器出现问题
- Windows 8 Javascript应用程序事件监听器问题