Я считаю, что ваша проблема в синтаксисе. Каждый раз, когда вы используете $, он создает новый объект jQuery, поэтому
$( "#video_seek" ).slider({
range: "max",
step: 1,
slide: function( event, ui ) {
handleSlider();
}
});
//below are not necessarily referring to the original slider, but rather creating new sliders.
$( "#video_seek" ).slider({ stop: function( event, ui ) {handleSlider();}});
$( "#video_seek" ).slider({ change: function( event, ui ) {handleSlider();}});
@ Эндрю прав в своем синтаксисе. Все, что вам нужно, это событие 'change', которое вы можете установить в исходной декларации следующим образом:
$( "#video_seek" ).slider({
change: function( event, ui ) {
handleSlider();
}
});
или даже так:
$( "#video_seek" ).slider({
change: handleSlider
});
если вам нужно подключить обработчик событий после факта, сделайте так:
$( "#video_seek" ).bind( "slidechange", function(event, ui) {
handleSlider();
});
или даже:
$( "#video_seek" ).bind( "slidechange", handleSlider);
(Правка)
Собираем все вместе и избегаем создания последующих объектов jQuery.
var videoSeek = $('#video_seek');
videoSeek.slider({
slide: handleSlider
});
//added later on not necessary just for example of doing so
videoSeek.bind('slidechange', handleSlider);
function handleSlider(event, ui){
//do stuff
}