将jquery ui事件绑定到本地函数

时间:2013-06-19 09:51:49

标签: javascript jquery jquery-ui events

我正忙着构建一个javascript类来自动创建Jquery UI Sliders。

    CustomSlider.prototype.initialize = function(slider_id, min_id, max_id, step, min, max){
        this.$slider = $('#' + slider_id);
        this.$min = $('#' + min_id);
        this.$max = $('#' + max_id);
        this.min = min;
        this.max = max;
        this.step = step;

        this.$slider.slider({
            range: true,
            step: this.step,
            min: this.min,
            max: this.max,
            values: [(this.min + (step * 4)), (this.max - (step * 4))],
            slide: this.slide(event, ui)
        });

        this.$min.text(this.min + (step * 4));
        this.$max.text(this.max - (step * 4));
    };

    CustomSlider.prototype.slide = function(event, ui){
        this.$min.text(ui.values[0]);
        this.$max.text(ui.values[1]);
    };

当我尝试绑定幻灯片事件时,它不会采用“event”和“ui”变量。 如何将此事件绑定到我自己的函数?

1 个答案:

答案 0 :(得分:3)

应该只是

    this.$slider.slider({
        range: true,
        step: this.step,
        min: this.min,
        max: this.max,
        values: [(this.min + (step * 4)), (this.max - (step * 4))],
        slide: this.slide
    });

您需要将函数引用指定为slide属性的值。

在你的情况下,你正在调用this.slide函数,因为它将它返回的值赋给slide属性,在这种情况下是未定义的