我正在尝试实现我找到here的滑块功能。但是,我似乎无法使callback
功能正常工作。我试图让它工作的页面非常简单,我只是试图让它在滑块值改变时调用函数:http://dev.itap.purdue.edu/dev/sandbox/jfish/slider.html。
我假设我已经做了一些简单的javascript错误,但没有太多的文档,我有点卡在这一点上。任何帮助将不胜感激。
答案 0 :(得分:2)
回调应指向一个函数,如下面的代码
callbacks:{"move":[doAlert]}
但相反,当您在()
末尾使用doAlert
时,您将指向该函数的结果。这就是为什么它在你加载页面时显示警告
答案 1 :(得分:2)
fd-slider.js
函数的第446行出错,它会尝试调用每个回调函数func.call(inp, cbObj);
cbObj
变量未定义,因此不会调用回调。我通过更新那几行来解决这个问题,只是为了定义var。
for(var i = 0, func; func = callbacks[type][i]; i++) {
var cbObj = null;
func.call(inp, cbObj);
};
我无法在代码中的任何位置找到回调对象定义。
答案 2 :(得分:1)
试试这个?
callbacks:{"move":function(){ doAlert(); }}
答案 3 :(得分:0)
代码必须
callbacks:{"move":[doAlert]}
答案 4 :(得分:0)
我遇到了同样的问题。这应该可以解决你的问题:
callbacks:{change:[doalert]}
知道这个库会自动传递值,所以如果你写了doalert函数,比如
function(fdevent){alert(fdevent.value)}
您的提醒会说出滑块的值。
阅读回调函数http://www.frequency-decoder.com/2010/11/18/unobtrusive-slider-control-html5-input-range-polyfill/