我有一些jQuery我正在研究我们正在研究的测试用例,它在我们的iPad 2上慢慢运行极。
但是,它对我们的台式机和笔记本电脑很敏感,反应灵敏。我已经尝试删除所有选择器(如果可能),而是使用存储的引用,这没有多大帮助。在此更改之前,http://jsfiddle.net/EEGgv/5/之后是http://jsfiddle.net/EEGgv/6/
这是当前的jQuery代码:
$().ready(function () {
var $varSelected = 'undefined';
var $this = 'undefined';
var varPrev = '';
var varNew = '';
$('.btn').click(function () {
$this = $(this);
if ($varSelected !== 'undefined') {
// Get previous value
varPrev = $varSelected.text();
// Find value we're trying to add
varAdding = $this.attr('value');
if (varAdding == 'Clr') {
varNew = '';
} else {
varNew = varPrev + varAdding;
}
// Write new value
$varSelected.text(varNew);
}
});
$('.qtyBox').click(function () {
$this = $(this);
// Check if we've previously had a selected box
if ($varSelected === 'undefined') {
// Didn't have one before -- nothing special
} else {
// Had one selected. We need to unselect it.
$varSelected.removeClass('Selected');
}
// Select the one we have now
$varSelected = $this;
// Add formatting
$this.addClass('Selected');
// Clear value
varNew = '';
$this.text(varNew);
});
});
我将/ 5 /版本(预引用)上传到http://test.projectdavis.com/test.html,同时将/ 6 / versoin(引用)上传到http://test.projectdavis.com/test2.html。
任何人都有见解?
由于
答案 0 :(得分:5)
我能够在iPad 2上测试您的页面。输入延迟似乎是移动点击事件延迟,在移动浏览器(https://developers.google.com/mobile/articles/fast_buttons?hl=de-DE)上0.3秒后点击事件被触发。)。这种延迟使浏览器可以听到双击。移动浏览器提供了四个额外的事件处理程序,您可能感兴趣的是 clickend 。当用户从屏幕上抬起手指时会触发 clickend 事件。
以下代码来自MDN https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Events/Touch_events
var el = document.getElementsById("MyButtonID");
el.addEventListener("touchend", handleEnd, false);