在对象里怎么给对象添加点击事件。

创建对象

var div = document.getElementById('div');

// 把div弄成对象

var divObj = {    
    // 想在对象里给div添加点击事件。我是这么想的。
    click:function (){}, 
}

// 1、在外面给div添加
div.onClick = divObj.click;

//或者
var divObj = {
    d: div,
    init: function(){
        this.d.onClick = this.click;
    }
    click: function (){}
}

divObj.init();

我想问这种方式可以吗?还有其他方法吗?

阅读 3.9k
1 个回答

可以的,用一个对象来处理吧。

// 创建一个对象,来处理这种场景
function DivObj(element) {
    this.element = element
}

DivObj.prototype = {
    constructor: DivObj,
    init: function() {
        this.element.addEventListener('click', this.click, false);
    },
    click: function() {
        // 点击回调
        console.log('click')
    }
}

// 创建实例
var div = new DivObj(document.getElementById('div'));
div.init();
//这个时候该div已经有点击事件了,点击元素就会执行
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏