2017-02-21 23 views
0

Это настраивается для формы, поэтому мне нужно, чтобы пользователь не мог нажимать кнопки независимо от того, до тех пор, пока видео не закончится.Отключить кнопки бутстрапа до тех пор, пока не будет воспроизведено видео youtube

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

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

код у меня есть для воспроизведения видео:

<!--YOUTUBE VIDEO SCRIPT--> 
    <script src="http://www.youtube.com/player_api"></script> 
    <script type="text/javascript"> 
     // create youtube player 
     var player; 

     function onYouTubePlayerAPIReady() { 
      player = new YT.Player('player', { 
       height: '315', 
       width: '560', 
       videoId: 'i1XKt2T8ejc', 
       events: { 

        onStateChange: onPlayerStateChange 
       } 
      }); 
     } 

     // when video ends 
     function onPlayerStateChange(event) { 
      if (event.data === 0) { 
       /*Accept and Decline buttons are selectable once video plays entirely*/ 
       $('a.yes').attr('disabled', false); 
       $('a.no').attr('disabled', false); 
      } 

     } 
    </script> 

Другой код:

<script type="text/javascript"> 
$('a.yes').attr('disabled', true); 
$('a.no').attr('disabled', true); 
</script> 

Кнопки:

<a href="exit.php" role="button" class="btn btn-danger no" style="float:right; width:100px;" >Decline</a> 

<a href="yes.php" role="button" class="btn btn-success yes" style="float:right; width:100px;">Accept</a> 
+0

Пара вопросов: 1. Вы проверили, что функция "onPlayerStateChange" на самом деле вызывался? 2. Вы упоминаете о кнопках, которые все еще запускают события, но визуально они не отображаются или нет? –

+0

@ChrisCousins ​​Да, функция вызывалась, и кнопки визуально отображались отключенными. Ответ ниже был решен, спасибо. – user3015009

ответ

0

Ваш код должен работать, однако вы не можете отключить a элемент; измените его на кнопку.

<button href="exit.php" role="button" class="btn btn-danger no" style="float:right; width:100px;" >Decline</abutton> 

<button href="yes.php" role="button" class="btn btn-success yes" style="float:right; width:100px;">Accept</button> 

и для JQuery в

$('button.yes').attr('disabled', true); 
$('button.no').attr('disabled', true); 
+0

Спасибо! Это разрешило это, это всегда что-то простое haha ​​ – user3015009

+0

@ user3015009 полностью. Принял меня, чтобы заметить это также;) – arcs