jQuery在iPad上运行极慢

jQuery在iPad上运行极慢,jquery,performance,ipad,Jquery,Performance,Ipad,我在一个测试用例上运行了一些jQuery,它在我们的iPad2上运行得非常慢 不过,它在我们的台式机和笔记本电脑上反应迅速。我已经尝试删除所有选择器(如果可能的话),而是使用存储的引用,这没有多大帮助 在那次改变之前是在那之后 以下是当前jQuery代码: $().ready(function () { var $varSelected = 'undefined'; var $this = 'undefined'; var varPrev = ''; var va

我在一个测试用例上运行了一些jQuery,它在我们的iPad2上运行得非常慢

不过,它在我们的台式机和笔记本电脑上反应迅速。我已经尝试删除所有选择器(如果可能的话),而是使用存储的引用,这没有多大帮助

在那次改变之前是在那之后

以下是当前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/版本(预参考)上载到,而/6/版本(参考)上载到

有人有什么见解吗


谢谢

我可以在我的iPad2上测试你的页面。输入延迟似乎是移动点击事件延迟,在移动浏览器(.)上,点击事件在0.3秒后触发。此延迟是为了让浏览器可以监听双击。移动浏览器提供了四个额外的事件处理程序,您可能感兴趣的是clickend。当用户从屏幕上抬起手指时,clickend事件被触发

下面的代码来自MDN


到底什么是慢的?页面的加载?与页面交互?二者都您可以使用事件委派进行一些优化,但这只会改善最初的影响,不会改善与页面的交互。点击/单击方框、运行
$('.qtyBox')时会感觉到
缓慢。单击
功能以及点击/单击按钮输入数量时,当它运行
$('.btn')时。单击
函数。@KevinB-它实际上加载得很好。它可能加载得很慢,但速度不够慢,以至于我注意到了它。点击/单击时,在那里运行的脚本响应速度非常慢。谢谢对我来说似乎很正常,问题是ipad上300毫秒的点击延迟吗@rlb-请为问题添加一个答案,这样我就可以给你应得的积分。;)*编辑——如在一般回答中。你用你的bit o’Research解决了我的问题,只是为了其他人搜索——我使用了典型的jQuery
click
事件,它的延迟很慢。当我切换到jquerymobile并将事件更改为
tap
s时,它毫不延迟地工作了。谢谢我在一个主干应用程序中遇到了这个问题,通过包含这个库解决了这个问题(因此它可以在iPad和非触摸设备上工作):
var el = document.getElementsById("MyButtonID");
el.addEventListener("touchend", handleEnd, false);