нежелательная потеря event-a... jquery...
Добрый день.
У меня есть одна проблема. //1. Допустим создаем массив var arr = []; for(var i = 0; i < 100500; i++) { //2. Заполняем jquery оберткой объекта image arr.push($(new Image())); //3. Вешаем на элементы arr события arr[i].click(function() { alert(i); }) //4. Заполняем image .attr({src : someifles + i}); } // 5. Теперь мы хотим это добро вывести в $("#some_div") for(var i = 0; i < arr.length; i++) $("#some_div").append(arr[i]); // 6. Пусть теперь мы хотим поменять содержание и допустим каждый четный вывести в $("#some_div") $("#some_div").empty(); for(var i =0; i < arr.length; i+=2) $("#some_div").append(arr[i]); И тут мы замечаем, что на клик по изображению ничего не происходит!! Кто нибудь знает, как это исправить, кроме как НЕ удалением из #("#some_div") элементов :help: |
Практически все библиотеки считают себя слишком умными и при удалении элемента из DOM-дерева, считают, что он удаляется насовсем, в связи с этим делают с ним всякие умные вещи. :)
Вобщем вместо Цитата:
$("#some_div").html('');Должно помочь. |
Спасибо за быстрый ответ.
Я уже пытался так сделать, но к сожалению аналогично получается... Единственный пока способ, это взять этот див и сделать над ним $("#some_div").appendTo("some_other_element_that_w e_shouldn't_delete"); а потом тока $("#parent_of_some_div").empty() В такой связке все ок, правда по моему так не особо хорошо делать... |
document.getElementById('some_div').innerHTML = '';Значит так :) |
Мужик! Ты нереально крут! =)
Спасибо большое!=) |
Часовой пояс GMT +3, время: 04:56. |