自定义事件Phonegap Jellybean

时间:2014-03-21 02:55:10

标签: javascript cordova android-4.2-jelly-bean

我创建了一个适用于iOS和所有Android设备的应用程序,除了运行Jellybean的设备。我已经在Nexus 7,Nexus 5和Galaxy Note 3(KitKat)上进行了测试,它运行良好。然而,当我在Galaxy Note 2,Galaxy Note 3和Galaxy S3上尝试使用Jellybean时,我遇到了同样的错误:

Uncaught TypeError: Illegal constructor:82
Uncaught Error: UNSPECIFIED_EVENT_TYPE_ERR: DOM Events Exception 0: 71

在第82行,我有:

var a = new window.Event(trigger);

在第71行我有:

elem.dispatchEvent(a);  

此应用程序完全基于Web,没有本机插件。因此,当我在浏览器上打开网页时,一切都在Jellybean手机上运行正常。但是,一旦相同的代码被包装在phonegap中,我就会开始看到错误。为Jellybean创建自定义javascript事件的正确方法是什么?

更新: 我找到了答案。对于软糖,您必须使用此处概述的折旧方法:https://developer.mozilla.org/en-US/docs/Web/API/document.createEvent

// Create the event.    
var event = document.createEvent('Event');

// Define that the event name is 'build'.
event.initEvent('build', true, true);

// Listen for the event.
document.addEventListener('build', function (e) {
  // e.target matches document from above
}, false);

// target can be any Element or other EventTarget.
document.dispatchEvent(event);

0 个答案:

没有答案