как получить значение touchstart в событии touchend? - PullRequest
3 голосов
/ 14 декабря 2011

Я хочу получить значение touchstart.pageX при запуске события touchend, но не получаю точное значение.Это дает мне pageX значение события touchend.Что я делаю не так?

(function($){

    $.fn.extend({ 

        //pass the options variable to the function
        swipeTest: function(options) {
            var touchStart;            
            var options =  $.extend(defaults, options);

            //initilaized objects
            function init(thisObj){
                thisObj.addEventListener('touchstart', function(e) {
                    var touch = e.touches[0] || e.changedTouches[0];
                    touchStart = touch;
                    console.log('Value of touchStart.pageX in touchstart method: ' + touchStart.pageX);
                }, false);

                thisObj.addEventListener('touchend', function(e) {
                    var touch = e.touches[0] || e.changedTouches[0];
                    console.log('Value of touchStart.pageX in touchend method: ' + touchStart.pageX);
                }, false);
            }

            return this.each(function() {
                init(this);   

            });
        }
    });

})(jQuery);

После удара по элементу я получаю это в консоли (провод слева направо)

Value of touchStart.pageX in touchstart method: 132
Value of touchStart.pageX in touchend method: 417
Value of touchStart.pageX in touchstart method: 32
Value of touchStart.pageX in touchend method: 481

Сыворотка Я не получаю одинаковое значение в обоихметоды?Я указываю на ту же переменную, хотя !!

1 Ответ

1 голос
/ 14 декабря 2011

Вы должны получить значение .target переменной touch в вашем конечном событии. Вот откуда началось прикосновение. Вам даже не нужна переменная touchStart. Прикосновение в конечном событии содержит всю необходимую информацию.

//in your touchend handler, after touch = blah blah blah
var startnode = touch.target; //gets you the starting node of the touch
var x = startnode.pageX
var y = startnode.pageY
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...