简体   繁体   English

使用标准javascript而不是jquery中的mousedown,mousemove和mouseup的触摸事件句柄

[英]Touch event handle with mousedown, mousemove and mouseup in standard javascript not jquery

Any body please tell me how can I create a touch event handle with 3 event available in javascript are mousedown, mousemove and mouseup? 任何人都可以告诉我如何使用javascript中可用的3个事件来创建一个触摸事件句柄,它们是mousedown,mousemove和mouseup?

Any idea is appreciated! 任何想法表示赞赏!

I have an idea for my own question and I'm using this to moving my slideshow like this: 我对自己的问题有一个想法,我正在使用它来移动幻灯片,如下所示:

function Dragging() {
    var isDragging = false;
    var isStartDragging = false;
    var isEndDragging = true;
    var startPoint = 0;
    $('.Content-Page-List').mousedown(function (e) {
        e = e || event;
        if (!isStartDragging && !isDragging && isEndDragging) { isStartDragging = true; isEndDragging = false; startPoint = e.pageX;  }
        else { isStartDragging = isDragging = false; }
    });
    $('.Content-Page-List').mousemove(function () {
        if (isStartDragging && !isEndDragging) { isDragging = true;}
        else { return; }
    });
    $('.Content-Page-List').mouseup(function (e) {
        e = e || event;
        var leftVal = $(this).position().left;
        if (isDragging && !isSlideMoving) {
            var oldSlide = slide;
            /* Slide move from left to right */
            if (startPoint < e.pageX) {
                if (leftVal == 0) return;
                isSlideMoving = true;
                $('.Content-Page-List').animate({ left: (leftVal + 1200) + 'px' }, 'slow', function () {
                    slide = parseInt(slide - 1);
                    contentHeight = $('.Content-Page-List').children('ul').children('li').eq(slide).height();
                    $('#page' + slide).parent().parent().css('background', 'rgba(243, 0, 0, 0.6)');
                    $('#Content-Page-List-Wrapper').css('height', contentHeight + 'px');
                    isStartDragging = isDragging = false;
                    isEndDragging = true;
                    isSlideMoving = false;
                });
            }
            /*Slide move from right to left */
            else {
                if (leftVal == -((numOfLi * 1200) - 1200) || numOfLi == 1) return;
                isSlideMoving = true;
                $('.Content-Page-List').animate({ left: (leftVal - 1200) + 'px' }, 'slow', function () {
                    slide = parseInt(slide + 1);
                    contentHeight = $('.Content-Page-List').children('ul').children('li').eq(slide).height();
                    $('#page' + slide).parent().parent().css('background', 'rgba(243, 0, 0, 0.6)');
                    $('#Content-Page-List-Wrapper').css('height', contentHeight + 'px');
                    isStartDragging = isDragging = false;
                    isEndDragging = true;
                    isSlideMoving = false;
                });
            }
            $('#page' + oldSlide).parent().parent().css('background', '#f4f4f4');
        }
        else { isStartDragging = false; isEndDragging = true; }

    });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM