Как заставить touchstart, touchend и touchover работать с событиями мыши? - PullRequest
0 голосов
/ 02 сентября 2018

Я пытаюсь создать простой мобильный готовый аудиоплеер, используя теги HTML5.

До сих пор я мог заставить вещи работать должным образом в браузере и с событиями мыши.

Но когда я пытаюсь использовать те же функции на устройстве с поддержкой сенсорного ввода, все становится неуклюжим (не сглаженным), и сенсорные события вообще не работают.

Это то, что я имею до сих пор:

https://jsfiddle.net/nkhy0sxf/

Я пробовал что-то вроде этого:

$pie.on("mousedown touchstart", function (eDown) {

        if($(eDown.target).is("#pie")) {
            var seeking = true;

            var percent = computeProgress(eDown);
            player.currentTime = percent * player.duration / 100;

            $(this).on("mouseup mouseout touchend", function () {

                seeking = false;
            });

            $(this).on("mousemove touchmove", function (eMove) {
                if(seeking == true) {
                    var percent = computeProgress(eMove);
                    player.currentTime = percent * player.duration / 100;
                }
            });

Но проблема, о которой я упоминал выше, сохраняется на устройствах с поддержкой сенсорного ввода.

Может кто-нибудь дать совет по этому вопросу?

1 Ответ

0 голосов
/ 03 сентября 2018

Вы должны взглянуть на hammer.js .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...