У меня есть набор флажков, которые добавляются в документ через Ajax называютДобавить прослушиватель событий к объекту, который добавляется к DOM с помощью 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))
});
Теперь, если флажки на странице на странице загрузки, то mousover трюк работает.
К сожалению, если я попытаюсь вызвать метод «$$» каким-либо образом ПОСЛЕ того, как флажки были добавлены в DOM через AJAX, ни один из них не сможет забрать свой прослушиватель событий.
SO ... кто-нибудь знает, как заставить прототип перечитать текущее состояние DOM? (или любое другое обходное решение, о котором вы можете подумать)
Я попытался поместить функцию $$ в функцию и называть ее частью функции обратного вызова onSuccess в качестве отдельной функции после того, как вызов ajax был выполнен и вывод целую функцию $$ как часть фактических значений AJAX. Все безрезультатно.
справка приветствуется.