代码:
function DropDown(el) {
this.dd = el;
this.initEvents();
}
DropDown.prototype = {
initEvents: function () {
var obj = this;
obj.dd.on('click', function (event) {
$(this).toggleClass('active');
event.stopPropagation();
});
}
}
$(function () {
var dd = new DropDown($('#dd'));
$(document).click(function () {
// all dropdowns
$('.wrapper-dropdown-2').removeClass('active');
});
});
一般来说,到目前为止我所了解的是 (但我仍然想知道它是否真实):
var dd = new DropDown( $('#dd') );
是自动执行功能(jQuery
样式)var dd = new DropDown( $('#dd') );
执行函数DropDown(el)
el
等于#dd
this.dd = el
等于#dd.dd = #dd
this.initEvents()
继承自函数的原型,因此可以由dd
对象执行问题:
var obj = this
的目的是什么? (原型)this
指的是什么?
(我想它已经保存了参考文献,所以它不是每次都被执行但我不知道那个原型this
所指的是什么)obj.dd.on
?#dd.#dd.on
?)obj.dd = el
而不是this.dd
?答案 0 :(得分:0)
说实话,我们不需要保留这个。
首先这个(obj = this)引用Dropdown obj,而 this 在click事件中引用jquery obj $(' #dd')或obj.dd.