gpt4 book ai didi

javascript - 使用事件处理程序创建 javascript 对象

转载 作者:可可西里 更新时间:2023-11-01 13:13:01 24 4
gpt4 key购买 nike

我创建了一个 JavaScript 对象并将其命名为“按钮”。此对象具有绘制按钮并将其附加到特定 div 元素的功能。

  var Button = function (id, value) {
this.id = id;
this.value = value;

this.draw = function () {
var element = document.createElement("input");
element.type = "button";
element.id = id;
element.value = value;
document.getElementById("topDiv").appendChild(element);
}
};

我像这样实例化 Button 对象并调用 draw() 函数:

 var myButton = new Button('btn1', "Test Button");
myButton.draw();

我的问题是我无法处理事件。我想将 onclick 事件连接到一个函数。例如:

myButton.onClick = function(){ alert(1); };

但我不知道如何定义它。

最佳答案

尝试

var Button = function (id, value) {
this.id = id;
this.value = value;

this.draw = function () {
this.element = document.createElement("input");
this.element.type = "button";
this.element.id = id;
this.element.value = value;
document.getElementById("topDiv").appendChild(this.element);
}
};

Button.prototype.addEventListener = function(event, handler){
var el = this.element;
if(!el){
throw 'Not yet rendered';
}
if (el.addEventListener){
el.addEventListener(event, handler, false);
} else if (el.attachEvent){
el.attachEvent('on' + event, handler);
}
}

演示:Fiddle

关于javascript - 使用事件处理程序创建 javascript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16790296/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com