Как заблокировать элементы управления на <video>в HTML5, пока не произойдет данное событие? - PullRequest
1 голос
/ 10 декабря 2011

Я хочу приостановить воспроизведение видео в определенный момент, пока не появится ответ на всплывающий вопрос. Пользователь не должен иметь возможность идти вперед и пересылать видео, пока не будет дан ответ на только что заданный вопрос.

Так что я могу приостановить видео, используя JS в этот конкретный момент. Как я могу убедиться, что элементы управления видео разблокированы или видео воспроизводится снова только после ответа на всплывающий вопрос?

Ответы [ 3 ]

2 голосов
/ 10 декабря 2011

посмотрите на эту демонстрацию http://jsfiddle.net/dgLds/58/

var video = document.getElementById("myvideo");


function toggleControls() {
    document.getElementById('myvideo').pause();
  if (video.hasAttribute("controls")) {
     video.removeAttribute("controls")   
  } else {
     video.setAttribute("controls","controls")   
  }
}


<video id="myvideo">
    <source src="http://www.w3schools.com/html5/movie.mp4" />
</video>

<p onclick="toggleControls();">Toggle</p>

, а не по щелчку, вы можете вызывать функцию, когда захотите

Вот статья из оперы обо всем, что вы хотите знать оhtml5 video http://dev.opera.com/articles/view/everything-you-need-to-know-about-html5-video-and-audio/

В частности, посмотрите Как сохранить синхронизацию section

РЕДАКТИРОВАТЬ: если вы хотите отключить параметры правой кнопки мыши.Просто отключите правый клик по этому тегу / id

Вот код jquery

 $('video').bind('contextmenu', function() 
    {
        alert('no right click.');
        return false;
    }); 
1 голос
/ 27 ноября 2012

Сегодня я столкнулся с необходимостью отключить контекстное меню, потому что у нас есть свои собственные элементы управления. Вы можете сделать это довольно легко:

video.addEventListener('contextmenu', function(e) {
    e.preventDefault();
    return false;
}); 

Он представляет собой пример, построенный на демоверсии веб-разработчика: http://jsfiddle.net/dgLds/308/

0 голосов
/ 10 декабря 2011

Для элемента video доступен метод pause():

document.getElementById('myVideo').pause();

Аналогично, есть play().

...