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