У меня есть набор флажков, которые добавляются в документ через вызов Ajax.
<input type='checkbox' checked class='import'>
<input type='checkbox' checked class='import'>
<input type='checkbox' checked class='import'>
<input type='checkbox' checked class='import'>
<input type='checkbox' checked class='import'>
У меня есть несколько фрагментов javascript (используя прототип)
function check_toggle(obj, e) {
if (e.shiftKey) {obj.checked=!obj.checked;}
else if (e.altKey) {obj.checked=true;}
else if (e.ctrlKey) {obj.checked=false;}
}
$$('.import').each(function(obj){
Event.observe(obj, "mouseover", function(e){alert('here');}.bind(this))
});
Теперь, если флажки находятся на странице при загрузке страницы, трюк с наведением мыши работает отлично.
К сожалению, если я попытаюсь каким-либо образом вызвать метод «$$» ПОСЛЕ того, как флажки были добавлены в DOM через AJAX, ни одному из них не удастся подобрать свой прослушиватель событий.
ТАК... кто-нибудь знает, как заставить прототип перечитать текущее состояние DOM? (или любой другой обходной путь, который вы можете придумать)
Я попытался поместить $$ в функцию и вызвать ее как часть обратного вызова onSuccess, как отдельную функцию после выполнения вызова ajax и вывести всю функцию $$ как часть фактических значений AJAX. Все безрезультатно.
Помощь приветствуется.