我们创建可在本地教室网络上工作的分布式iPod Touch应用程序。我们的其中一个应用程序有一个控制器,可以让教室里充满学生的房间前面的共享显示屏上显示图标。JQM IOS:使用setInterval()changePage()在更新到JQM 1.3.1后不再有效
如果学生按住他们的手指,控制器将重复使用setInterval()移动图标。如果图标触击了班级显示中的对象,服务器会向应用发送消息以更改为其他页面。所有这些工作都在JQM 1.0.2中进行,直到我们的iPod被更新。我们对PhoneGap,JQ JQM进行了重大更新。 IOS 6.1.3,我们切换到JQM 1.3.1。我们在过去成功地使用了live()事件函数。现在我们遇到了on()的问题。
我会尽我所能,在这里展示的代码:
这部分工作正常:
// Handles controller direction events to move icon on shared display
$(document).on('vmouseup vmousedown', ".controller", function(event){
var evType, direction;
evType = event.type;
event.preventDefault();
direction = $(this).attr("data");
if (repeater != 0){clearInterval(repeater)};
repeater = 0;
if(evType == 'vmousedown'){
move(direction);
repeater = setInterval(function(){move(direction)},200);
} else {
clearInterval(repeater);
repeater = 0;
}
});
这部分iOS设备(工程上冻结页捕捉(包含控制器)在OSX上的Safari浏览器中很好)。我们要更改页面(“#操作”):
// Handles message from the server that an object was captured
function handleOperations(fields) {
var tag = fields.tag;
var message = fields.content.value;
switch (tag) {
case 'collective' :
expression = message;
$(".group-expression").html(expression);
break;
case 'capture' :
term = message;
$(".captured-expression").html(message);
$.mobile.changePage("#operate");
break;
case 'flags' :
updateOps(message);
break;
}
}
这些情况都涉及中断正在发生的事情。我们过去使用live()来处理这种事情,这在我们的工作中发生了很多。服务器经常会中断客户正在做的事情。我们如何获得live()功能?
更新:
如果只插入了changePage()它的工作原理之前,警报()。将不胜感激任何想法。现在很困惑。我们不能让警报不断弹出。
您是否在控制台日志中看到错误? – Omar 2013-05-08 08:09:11
谢谢奥马尔。运行浏览器时没有错误。有没有办法看到设备的控制台日志。我们是研究人员而非专业开发人 – Scot 2013-05-08 18:01:25
更新:从一个未实现的电话差距插件中出现了一段时间的错误:file:/// Users/tobin/altme/worlds/sutherzone/files/UC%20Davis/UCD%20Projects/Classroom%20Networks /开发/ iOS%20开发/术语%20和%20Ops%20iOS /术语%20和%20运行%20iOSv4/www/cordova_plugins.json未能加载资源:在此服务器上找不到请求的URL。 file:///!gap_exec?1368036170513无法加载资源:在此服务器上找不到请求的URL。 – Scot 2013-05-08 18:05:26