2012-07-02 3 views
5

저는 Javascript/jQuery를 처음 사용하며 HTML5 비디오 재생을위한 재생 버튼을 만들려고합니다. 지금까지 내 코드 :

//return a jQuery object 
var video = $('#myVideoTag'); 

//Play/Pause control clicked 

$('.btnPlay').on('click', function() { 
    if(video[0].paused) { 
     video[0].play(); 
    } 
    else { 
     video[0].pause(); 
    } 
    return false; 
}); 

나는이 오류가 계속 :

$(".btnPlay").on is not a function 
[Break On This Error] 

$('.btnPlay').on('click', function() { 

내가 할 수없는 잘못이 무엇인지 내 그림 밖으로의 생활. 페이지에 제대로 .btnPlay 클래스가 정의되어 있습니다. 난 문제없이 동일한 방법을 사용하는 튜토리얼을 따르고있다. 어떤 아이디어?

답변

8

on은 jQuery 버전 1.7에 도입되었습니다.

jQuery 라이브러리를 newest version으로 업그레이드해야한다고 생각합니다.

그렇지 않으면, 당신은 bind를 사용할 수 있습니다

$('.btnPlay').bind("click", function() { 
    // ... 
}); 

또는 바로 가기 방법 click :

$('.btnPlay').click(function() { 
    // ... 
}); 
0

자바 스크립트의 이전 버전에 CSTE 연구진 방법에 대한 대안이 .delegate입니다. 당신은 동일한 기능을 jQuery를 1.7의로

1

을 가지고 부모 요소에 .delegate('.btnPlay', 'click', function(){...})를 사용해야 .delegate().on() 방법으로 대체되었습니다. 그러나 이전 버전에서는 대표 위임.delegate()을 사용하는 것이 가장 효과적인 수단으로 남아 있습니다.

다른 대안은 .live()이지만 버전 1.7은 사용되지 않습니다. 이전 버전의 jQuery 사용자는 .live()보다 우선하여 .delegate()을 사용해야합니다.

관련 문제