Phonegap+JQuery Mobile:如何从Android菜单按钮弹出

Phonegap+JQuery Mobile: How to fire a popup from the Android menu button?

本文关键字:菜单 按钮 Android Mobile Phonegap+JQuery      更新时间:2023-10-18

我在一个简单的Phonegap 3.1应用程序中创建了这个片段,该应用程序基于JQuery Mobile弹出文档:

<div data-role="popup" id="popupMenu" data-theme="e">
    <ul data-role="listview" data-inset="true" style="min-width:210px;" data-theme="e">
        <li><a href="javascript:loadHelp()">Help</a></li>
        <li><a href="javascript:loadAbout()">About</a></li>
    </ul>
</div>
<a href="#popupMenu" data-rel="popup" data-role="button">
    Click for menu
</a>

单击按钮会弹出菜单。

我在一个外部.js文件中也有这个片段:

$(document).ready( function() {
    document.addEventListener("menubutton", onMenuKeyDown, false);
})
function onMenuKeyDown() {
    alert("Menu key pressed!");
    // what goes here?      
}

按下菜单按钮会弹出警报,所以我知道听众正在工作。现在,我想向onMenuKeyDown()函数添加一些代码,这样它就会在第一个代码段中显示按钮加载的菜单。该代码需要相当于点击

<a href="#popupMenu" data-rel="popup">Click here</a>

我该怎么做?

谢谢。

好吧,我找到了一种方法。它有效,但看起来有点古怪。欢迎提出其他方法的建议。

首先,使原始链接不可见,并给它一个ID:

<a href="#popupMenu" style="display: none;" id="hammerTime" data-rel="popup" data-role="button" >
     Can't touch this! 
</a>

然后让菜单按钮点击不可见的链接:

function onMenuKeyDown() {
    // alert("Menu key pressed!");
    $("#hammerTime").click()      
}

希望其他人在这一过程中会发现这一点很有用。