【发布时间】:2011-03-03 06:42:39
【问题描述】:
我正在使用 scriptaculous Builder 动态生成一些 DOM 元素,其中之一是链接标签。我不确定如何使用内联的点击回调以及其余的 Builder 代码来生成它,所以我提前生成了链接标记,然后将它与 Builder 阶段的其余部分一起插入。
问题是,当我单击链接时,链接的回调从未真正执行,而是 URL 栏更改为 http://localhost/foo/bar/#。回调方法是我的类的一部分,所以我提前将它绑定为事件监听器。
var Foo = Class.create ({
initialize: function () {
this.closeBinding = this.doClose.bindAsEventListener (this);
},
generate: function () {
/* Create the link and bind the click listener */
var close_link = Builder.node ('a', { href: '#' }, 'Close');
Event.observe (close_link, 'click', this.closeBinding);
/* Generate the new DOM nodes */
return Builder.node ('div', [
Builder.node ('h2', 'This is a test'),
close_link
]);
},
doClose: function (evt) {
/* This code is never called when I click the link. */
}
});
【问题讨论】:
标签: javascript prototypejs scriptaculous