Javascript jQuery UI事件范围问题
我正在尝试构建一个类来自动实例化jQueryUI滑块。 我已经可以实例化滑块,让它们运行等等。 但是当我绑定幻灯片事件时,我遇到了一个问题,Javascript jQuery UI事件范围问题,javascript,jquery,jquery-ui,events,scope,Javascript,Jquery,Jquery Ui,Events,Scope,我正在尝试构建一个类来自动实例化jQueryUI滑块。 我已经可以实例化滑块,让它们运行等等。 但是当我绑定幻灯片事件时,我遇到了一个问题,这个现在就是事件。 我做了一个var\u self=this来解决这个问题,但它会被类的每个实例覆盖 班级: $(function(window){ function WoningSelector(slider_id, min_id, max_id, step, min, max){ this.initialize(slider_id
这个
现在就是事件。
我做了一个var\u self=this
来解决这个问题,但它会被类的每个实例覆盖
班级:
$(function(window){
function WoningSelector(slider_id, min_id, max_id, step, min, max){
this.initialize(slider_id, min_id, max_id, step, min, max);
}
WoningSelector.prototype = {};
var _self;
// Constructor
WoningSelector.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.iMin = min;
this.iMax = max;
this.step = step;
_self = this;
_self.slider.slider({
range: true,
step: this.step,
min: this.iMin,
max: this.iMax,
values: [(this.iMin + (this.step * 4)), (this.iMax - (this.step * 4))],
slide: this.slide
});
_self.min.text(this.iMin + (this.step * 4));
_self.max.text(this.iMax - (this.step * 4));
};
// Slide event handler
WoningSelector.prototype.slide = function(event, ui){
_self.min.text(ui.values[0]);
_self.max.text(ui.values[1]);
};
window.WoningSelector = WoningSelector;
}(window));
在事件处理程序中使用“this”(移除self),但是绑定到事件时,不要简单地传递
WoningSelector.prototype.slide
而是通过
$.proxy(WoningSelector.prototype.slide, theConcreteInstanceYouBind)
这样,您的处理程序将被调用,上下文(This)是您绑定的具体实例。slide:This.slide.bind(This)
?