2012-05-03 2 views
0

У меня есть страница, где я изучаю прототип js и имею время с Event.observe. Моя проблема в том, что это работает, если я нажимаю в любом месте документа:Event.observe работает только с документами, а не с конкретными идентификаторами?

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

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

Но я хочу сделать несколько функций Event.observe для различных идентификаторов, так что я сделал это:

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

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

Теперь Foo это просто строка, которая выглядит примерно так:

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

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

Но когда я нажимаю на строку, она не обрабатывает окно предупреждения. Я пробовал слишком много вещей и теперь прошу о помощи. Любые идеи, почему конкретные элементы не генерируют предупреждение?

ответ

0

Либо вы можете попробовать это

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

или

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

Ссылка: http://api.prototypejs.org/dom/Event/observe/

в действии

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

+0

Согласно документации вы ссылки на 'Event.observe ("Foo", "нажмите", respondToClick) 'также должны работать. Проблема может исходить от чего-то другого. –

+0

Что-то должно быть неправильно, потому что ничего из этого не работает ... Я прочитал документацию и сделал точный пример на своей странице, но это не сработает. Но если я вызываю документ, он отлично работает ... – Paxwell

+0

В моем случае он работает. См. Его в http://plugins.amiwithyou.com/sof/event.htm – Hoque

0

зависит от исполнения заказа.

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

будет работать только тогда, когда

<tr id="foo">... 

уже существует в HTML DOM

Смежные вопросы