我有一个 jQuery Mobile 应用程序,我试图通过 Phonegap 在 Galaxy Tab 设备上运行。一切都按预期工作,但我有一个用于在一组页面之间转换的滑动,它非常滞后。
我实际上正在使用 knockoutJS 和这样的自定义绑定:
<!-- ko foreach: factors -->
<div data-role="page" data-bind="attr: { id: id }, swipe: $data">
<!-- some content here that I don't *think* is the problem -->
</div>
<!-- /ko -->
ko.bindingHandlers["swipe"] = {
init: function (element, valueAccessor) {
var qe = $(element);
var val = ko.utils.unwrapObservable(valueAccessor());
qe.bind("swipeleft", function () {
var next = qe.next("div[data-role='page'][data-bind*='swipe']");
if(next.length) {
$.mobile.changePage(next, {
transition: "slide"
});
} else {
qe.effect("shake");
}
});
qe.bind("swiperight", function () {
var prev = qe.prev("div[data-role='page']");
if(prev.length) {
$.mobile.changePage(prev, {
transition: "slide",
reverse: true
});
} else {
qe.effect("shake");
}
});
}
我尝试从页面中删除几乎所有内容,但没有帮助。我尝试用 and 替换slide
过渡,none
这有点帮助,但性能仍然慢得令人无法接受。
有什么技巧或提示可以使这项工作相当顺利吗?