jQuery Widget Factory - 重写的私有函数未接收到预期的参数(event,ui)

时间:2013-12-26 18:52:57

标签: jquery jquery-ui

我正在尝试通过扩展jQuery UI Slider来创建自定义滑块小部件。当重写_slide()函数时,我期待两个参数(event,ui),但我得到了事件对象和两个数字。我的问题是为什么差异和/或我应该如何声明我的函数以便它获得标准(事件,ui)参数?

代码段:

(function ( $ ) {
$.widget("test.slider2", $.ui.slider, {

     _slide : function(){
        console.log(arguments);
         //do stuff
         this._superApply(arguments);
    } 
});
}(jQuery));

Demo Fiddle

1 个答案:

答案 0 :(得分:0)

_slide私有方法的声明是

_slide: function( event, index, newVal ) {

https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.slider.js第300行

slide事件不同。 http://api.jqueryui.com/slider/#event-slide

_slide的代码中,查找this._trigger( "slide"

这会触发具有函数(event,ui)签名的slide事件,并且应该让您知道如何使用这些值来获取ui对象。