0

我有一个页面,我正在学习原型 js 并与 Event.observe 一起玩。我的问题是,如果我单击文档上的任何位置,这将有效:

Event.observe(document, 'click', respondToClick);

function respondToClick() {
  alert("Test...");
}

但我想为不同的 id 制作几个 Event.observe 函数,所以我这样做了:

Event.observe('foo', 'click', respondToClick);

function respondToClick() {
  alert("Test...");
}

现在 foo 只是如下所示的一行:

<tr id="foo">
                <th>Row Title</th>

                <th>Open/Close</th>
            </tr>

但是当我单击该行时,它不会触发警报框。我尝试了太多东西,现在正在寻求帮助。任何想法为什么特定元素不会生成警报?

4

2 回答 2

0

取决于执行顺序。

Event.observe('foo', 'click', respondToClick);

只有在

<tr id="foo">...

已经存在于 HTML DOM 中

于 2013-04-10T14:24:35.153 回答
0

你也可以试试这个

Event.observe($('foo'), 'click', respondToClick); 

或者

 $("foo").observe('click', respondToClick);

参考:http ://api.prototypejs.org/dom/Event/observe/

看到它在行动

http://plugins.amiwithyou.com/sof/event.htm

于 2012-05-03T14:53:33.757 回答