Ошибка функции обратного вызова JavaScript - PullRequest
3 голосов
/ 14 июня 2011

Я пытаюсь реализовать функциональность слайдера, которую я нашел здесь .Тем не менее, я не могу заставить функционал callback работать правильно.Страница, на которой я пытаюсь заставить ее работать, очень проста: я пытаюсь заставить ее вызывать функцию только при изменении значения ползунка: http://dev.itap.purdue.edu/dev/sandbox/jfish/slider.html.

Я предполагаю, что яЯ сделал несколько простых ошибок JavaScript, но без большого количества документации я застрял на этом этапе.Любая помощь будет принята с благодарностью.

Ответы [ 5 ]

2 голосов
/ 14 июня 2011

Ошибка в строке 446 функции fd-slider.js, когда она пытается вызвать каждую функцию обратного вызова func.call(inp, cbObj);

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

for(var i = 0, func; func = callbacks[type][i]; i++) {
    var cbObj = null;
    func.call(inp, cbObj);
};

Мне не удалось найти определение объекта обратного вызова в коде.

2 голосов
/ 14 июня 2011

обратный вызов должен указывать на функцию, как код ниже

callbacks:{"move":[doAlert]}

, но вместо этого вы указываете на результат функции, когда используете () в конце doAlert,Вот почему он показывает предупреждение при загрузке страницы

1 голос
/ 14 июня 2011

Попробуйте это?

callbacks:{"move":function(){ doAlert(); }}
0 голосов
/ 20 марта 2013

У меня была такая же проблема. это должно решить вашу проблему:

callbacks:{change:[doalert]}

Знайте, что эта библиотека автоматически пропускает значения, поэтому, если вы напишите свою функцию doalert, такую ​​как

function(fdevent){alert(fdevent.value)}

в вашем оповещении будет указано значение, на котором находится ваш ползунок.

чтение функций обратного вызова http://www.frequency -decoder.com / 2010/11/18 / ненавязчивый-ползунок-контроль-html5-input-range-polyfill /

0 голосов
/ 14 июня 2011

код должен быть

callbacks:{"move":[doAlert]}
...