【问题标题】:Firing events in Cordova applicationsCordova 应用程序中的触发事件
【发布时间】:2014-09-05 12:35:43
【问题描述】:

我正在尝试从浏览器手动触发 Cordova 中的事件(backbuttonpauseresume 等)(用于调试)。我的做法如下:

$(window).trigger('backbutton');

当我们使用$(document).on('backbutton', handlerCode);注册事件处理程序时

backbutton 事件被触发,但是当我们使用cordova 文档中的语法注册它时:

document.addEventListener("backbutton", onBackKeyDown, false);

未触发事件处理程序。我在使用$(window).trigger('backbutton') 时注意到了这一点,代码没有命中cordova.js 文件。从浏览器调用 cordova 应用程序中的事件的正确方法是什么?

【问题讨论】:

  • 试试cordova.fireDocumentEvent('backbutton'),看看效果是否更好?
  • 也尝试了 cordova.fireDocumentEvent('backbutton'),但控件没有返回到后退按钮的事件处理程序
  • 您说“从浏览器调用cordova 应用程序中的事件的正确方法是什么?”。你不能在浏览器上测试这些事件,你需要一部手机
  • 是的,但我的要求是在开发过程中模拟浏览器中的触发事件,然后再创建应用程序并部署到手机上。我所需要的只是一种触发事件的方法,以便在触发事件后,控件返回到事件处理程序。

标签: javascript cordova events dom-events


【解决方案1】:

可以从浏览器触发事件​​。为了触发事件,需要 fireWindowEvent 或 fireDocumentEvent。

要触发暂停、恢复、在线、离线、后退按钮、菜单按钮、搜索按钮、开始呼叫按钮、结束呼叫按钮、音量上升按钮、音量下降按钮,请使用 fireDocumentEvent。例如,触发“暂停”事件:-

cordova.fireDocumentEvent('pause',{});

为了触发与电池相关的事件,请使用 fireWindowEvent。例如,触发 'batterycritical' 事件:-

cordova.fireWindowEvent('batterycritical', {"level":"20","isPlugged":true});

【讨论】:

    猜你喜欢
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多