2016-08-30 2 views
0

Я создаю аудиоплеер. В js-файле я хочу добавить событие «timeupdate» в <input type="range" id="track" value="0" max="100" />. Я использовал jQuery. В файле JS, часть кода, как это:timeupdate не является функцией

var tracktime=$('#track'); 
tracktime[0].timeupdate(function(){ 
    console.log((song.currentTime/song.duration)*100); 
    tracktime[0].css('value',(song.currentTime/song.duration)*100); 
}); 

Но хром сказать мне, что timeupdate не является функцией.

+0

Try '' tracktime.on (» timeupdate ", обработчик)' ' – mdziekon

ответ

0

Когда вы пишете tracktime[0], вы получаете доступ к самому элементу DOM. Когда вы пишете только tracktime, вы манипулируете обернутым элементом jQuery, где jQuery обрабатывает такие вещи, как даже привязки для вас. Это позволяет вам связать события, такие как:

tracktime.click(function(e) { ... }); 

Так JQuery это timeupdate событие не имеет ярлык, так что вы должны связать его с помощью .on() method:

tracktime.on('timeupdate', function() { 
    ... 
}); 
0

timeupdate - событие, а не функция. Попробуйте это:

var tracktime=$('#track'); 
tracktime.on('timeupdate', function() { 
    // ... your code ... 
}); 
0

При назначении непосредственно к объекту, вам нужно использовать ontimeupdate, если вы используете addEventListener, то вы должны использовать: tracktime[0].addEventListener('timeupdate', ...):

tracktime[0].ontimeupdate 

Ссылка: https://msdn.microsoft.com/en-us/library/windows/apps/hh441309.aspx

Смежные вопросы