我有一个问题,当它在一个事件$(window).resize
我可以做的就是保持范围。
示例:
var testObject = {
init: function () {
this.divOriginal = $('.selector-tag');
this.resizeNow();
},
resizeNow: function () {
//some another code here....
//....
//..
$(window).resize(this.resizeUpdate.bind(this)); //without bind(this) the scope is window
},
resizeUpdate: function() {
console.log($(this));
var scrollWrapper = $(this)[0].divOriginal;//the only way to refer to the divOriginal
scrollWrapper.css('border','1px solid red');
}
}
testObject.init();
有一种更简洁的方法来访问对象的属性吗?
答案 0 :(得分:1)
您可以使用this
而不是$(this)
来访问该对象,因为您将对象绑定到事件处理程序调用的方法。
请参阅Function.prototype.bind上的MDN docs:
bind()方法创建一个新函数,当被调用时,它具有它 此关键字设置为提供的值,具有给定的序列 调用新函数时提供的任何参数。