PhoneGap的1.5“菜单按钮”和“搜索按钮”使用jQuery Mobile

我与我的第一次的PhoneGap / Android应用播放,时遇到了问题触发$.mobile.changePage()从的PhoneGap /科尔多瓦事件。

我已经更新了代码,而在此之前它会触发一次。 现在,它不会触发所有,但更接近于如何它可能应该这样做。

这里是我的代码:

$(document).on('pageinit', function() { document.addEventListener("searchbutton", onSearchKeyDown, false); //never fires document.addEventListener("menubutton", onMenuKeyDown, false); //never fires alert("triggered"); //does fire }); // search button press function onSearchKeyDown() { //change to search page alert("search"); $.mobile.changePage("#page4", {transition: "pop"}); } //menu button press function onMenuKeyDown() { //change to start page alert("menu"); $.mobile.changePage("#page1", {transition: "pop"}); }

--------------解决方案-------------

使用pageInit()而不是$(document).ready()

看到这里的文档:

你学到的jQuery的第一件事是调用$(文件)。就绪()函数中的代码,以便一切都会尽快DOM被加载运行。 然而,在jQuery Mobile的,阿贾克斯被用作导航到每一页的内容装入DOM和DOM准备处理仅执行了第一页。 要执行每当一个新的页面加载和创建的代码,您可以绑定到pageinit事件。 此事件进行了详细在这个页面底部的解释。

这里是解决方案,如果任何人有这个问题。 通过http://stackoverflow.com/a/9739986/799876

几行从cordova.js的底部,有线

channel.onNativeReady.subscribe(_self.boot);

将其更改为

channel.onNativeReady.subscribeOnce(_self.boot);

对我来说,这个固定的PhoneGap和jQuery Mobile的的菜单按钮和搜索按钮事件。

分类:JavaScript的 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.868 (s). 10 q(s)