【问题标题】:Bind to mobile device hardware buttons绑定到移动设备硬件按钮
【发布时间】:2025-12-30 05:35:12
【问题描述】:

是否可以使用 jQuery mobile 绑定到移动设备的硬件按钮? 如果有,有代码示例吗?

我对绑定到移动设备的音量增大和减小按钮以及使用这些按钮滚动页面特别感兴趣。

这是关于android和硬件后退按钮Take control of hardware back button jquery mobile的类似问题

现在我想知道如何对音量上下但跨平台做同样的事情?

【问题讨论】:

    标签: jquery jquery-mobile


    【解决方案1】:

    简短的回答是否定的,您不能仅使用 jQuery Mobile 来做到这一点。

    现在我假设您正在创建一个移动应用程序,移动应用程序是指混合 android/iPhone 应用程序,而不是您的网络应用程序的移动版本。如果我是正确的,您可能会使用 Phonegap/Cordova 框架包装器,它将作为 HTML/CSS/JS 和 natuve 应用程序之间的包装器。

    更多关于Phonegap/Cordova框架的信息可以在这里找到:http://cordova.apache.org/

    jQuery Mobile 和Phonegap 是标准组合,你可以找到很多如何使用的教程。

    但回到你的问题,这里是如何使用 Phonegap 将音量增大和音量减小事件绑定到 jQuery 移动代码:

    document.addEventListener("volumedownbutton", onVolumeDownKeyDown, false);
    
    function onVolumeDownKeyDown() {
        // Handle the volume down button
    }
    

    和:

    document.addEventListener("volumeupbutton", onVolumeUpKeyDown, false);
    
    function onVolumeUpKeyDown() {
        // Handle the volume up button
    }
    

    还可以看看我的另一篇短文如何使用 jQuery mobile 处理 phonegap 事件:

    https://*.com/a/14010308/1848600

    更多关于音量增大/音量减小事件可以在这里找到:http://docs.phonegap.com/en/1.2.0/phonegap_events_events.md.html

    【讨论】:

    • 计划稍后使用Phonegap(以前从未使用过),但由于我需要购买iOS开发者许可证,所以我将它推迟到完成大部分工作。很高兴知道有办法捕捉这些事件,而我们正在处理这些事件,是否可以防止默认操作,即。 iOS上的扬声器对话框?还有一件事让我感到困惑,在 Phonegap 文档中它说只有黑莓支持这些事件?
    【解决方案2】:

    抱歉,Jquery 或 Jquery mobile 控制您的网页或 web 应用程序的浏览器 DOM 和 UI。它们不控制移动设备的功能。您提到的...

    但就音量上下而言,您可以为此使用 jquery 插件...

    如果您在 Jquery Mobile 中工作,请使用此...

    http://videojs.com/

    一个 HTML5 视频播放器,可作为您要求的替代品...

    【讨论】:

    • 嗯,听硬件输入似乎不是什么疯狂的想法,毕竟你可以听例如桌面上的键盘按键。我真的不明白如何使用视频播放器来捕捉音量增大/减小按钮按键?我正在查看播放器的源代码,但我找不到它捕获输入的部分..