【发布时间】:2011-06-15 01:24:48
【问题描述】:
我有一个使用 jquery、jquerymobile 和 spin.js 的应用程序在 phonegap (0.9.5.1) 上运行,并且在让它在 iOS 上正常工作时遇到了一些问题。
点击 div 时应用程序应该会启动相机。在我的控制器中,我拥有它,以便它执行类似于以下操作:
myController = Spine.Controller.create({
events: {"tap .take-picture": "takePic"},
takePic: function(){
var self = this;
navigator.camera.getPicture(function(data){
self.doStuffWith(data);
},
null,
{quality: 50, destinationType: Camera.DestinationType.DATA_URL, sourceType: Camera.PictureSourceType.CAMERA})
},
doStuffWith: function(data){
// Doing stuff with said data
}
});
真正让我困惑的是,这段代码在 Android 上可以正常工作。是否有某种 iOS 怪癖导致无法正确发送点击事件?
【问题讨论】:
-
如果您将事件更改为单击,它会正确触发吗?你在等待 dom/设备准备好了吗?
-
是的。我还尝试为触摸和单击事件添加侦听器,看看是否会发生这种情况。我还确保设置了“设备就绪”侦听器,因此我知道 phonegap 已正确加载。
-
是没有触发事件,还是takePic函数失败?
-
未触发事件以启动相机,而在 Android 上相机启动的位置(如预期的那样)。
标签: javascript jquery ios cordova jquery-mobile