Нажмите функцию, чтобы воспроизвести видео не работает на планшете - PullRequest
0 голосов
/ 18 октября 2018

У меня есть функция щелчка ниже, чтобы при нажатии видео воспроизводилось видео.Он отлично работает на настольных браузерах, но не на планшетах.Вы нажимаете это, и видео немедленно останавливается.Я считаю, что это связано с функцией щелчка, которая ищет щелчок, а на планшете его нет, но я не знаю, как его решить.

HTML

<div class="section">
<div class="video">
    <video poster="img/my-poster.jpg"><source src="mp4/low-res/my-video.mp4" type="video/mp4"></video>
</div>
</div>

jQuery

$(document).ready(function () {

    $('.section video').on("click touchstart", function() {
          this.paused ? this.play() : this.pause();
});

});

1 Ответ

0 голосов
/ 18 октября 2018

Это потому, что ваши touchstart и click находятся в конфликте .

Есть способ взломать предотвратить этот конфликт :

var flag = false;
$('.section video').on("click touchstart", function(){
  if (!flag) {
    flag = true;
    setTimeout(function(){ flag = false; }, 100);
    this.paused ? this.play() : this.pause();
  }
  return false;
});

Кредиты и дополнительная информация: Как связать события "touchstart" и "click", ноне отвечает на оба вопроса?

РЕДАКТИРОВАТЬ: Спасибо @RoryMcCrossan за точность о bind ()

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