在对象JavaScript中创建对象

时间:2016-06-24 05:54:43

标签: javascript jquery

您好我有一个具有容器元素和相同子元素的对象:

var Obj = function(){
    this.container = $('.obj');
    this.subObjs = container.find('.subObj'); 
}

在这个Obj中我想创建另一个Object(ObjHandler),广告handlerOn点击每个子对象。

 var Obj = function(){
    this.container = $('.obj');
    this.subObjs = container.find('.subObj'); 

    this.init = function() {
       this.subObjs.each(function(i,el){
         el = new this.ObjHandler(el)
      });
    }

    this.ObjHandler = function(element) {
       this.el = element;
       this.element.on('click',function(){
           console.log('click');
      });
   }

}

我知道我可以像this.subObjs.on('click', function(){})一样简单地使用它 但我这只是简化。

此处位于codepen.io

这是好主意,为什么它不起作用?

1 个答案:

答案 0 :(得分:1)

    未定义
  • this.element使用this.elelement
  • element是原生JS Element的一个实例。用$()包装它以获取定义on函数
  • 的jQuery对象
  • 您永远不会创建Obj的实例或致电init

fixed pen