jQuery在iPad上运行速度极慢

The*_*1nk 4 performance jquery ipad

我有一些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);
    });
});
Run Code Online (Sandbox Code Playgroud)

我将/ 5 /版本(预引用)上传到http://test.projectdavis.com/test.html,而/ 6/versoin(参考)上传到http://test.projectdavis.com/test2. HTML.

有人有任何见解吗?

谢谢

小智 5

我能够在iPad 2上测试您的页面.输入延迟似乎是移动点击事件延迟,在移动浏览器上0.3秒后点击事件被触发(https://developers.google.com/mobile/articles/fast_buttons ?hl = de-DE.).这种延迟使浏览器可以听到双击.移动浏览器提供了四个额外的事件处理程序,您可能感兴趣的是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);
Run Code Online (Sandbox Code Playgroud)