【发布时间】:2011-12-09 11:32:02
【问题描述】:
我正在尝试用 JavaScript 编写我自己的按钮对象,该对象可以放置在 HTML5 画布上。我遇到的问题是将事件侦听器添加到我的函数中。我的假设是我需要扩展一个实际上具有 addEventListener 方法的对象,但我不确定如何在 JavaScript 中执行此操作。下面是我的一些代码的 sn-p:
function Button(bContext, ...) {
var self = this;
var context = bContext;
...
self.addEventListener('mouseover', self.mouseOverListener, false);
...
self.drawMe = function() {
...
};
self.mouseOverListener = function() {
alert("Hovering");
};
};
“...”只是我缩短了这篇文章的代码,实际上那里还有很多东西,但与这个问题无关。
【问题讨论】:
-
好问题,但我怀疑它是否可以通过扩展 HTML 元素来实现。也无法初始化像
new HTMLDivElement这样的 HTML 元素,所以我不确定你是否可以扩展一个。 -
嗯,你可以扩展原型,但你不能带来一种新的 DOM 节点类型。您必须在
<canvas>元素本身上捕获事件。
标签: javascript html oop dom-events