различия в реализации JS в разных браузерах
перенесите в девелопмент
Используй .detach
To avoid memory leaks, jQuery removes other constructs such as data and event handlers from the child elements before removing the elements themselves.
вот когда я записал элемент в переменную, что именно произошло - появился такой же объект, записалась ссылка или что?
на некую страницу выводится форма - изменить форму на серверной стороне я не могу
поэтому я написал скрипт, которые эту форму убирает со страницы, но при этом сохраняет ее в собственную переменную, потом парсит на составляющие (там есть описание, цена, набор опций - радиобуттонов)
т. к. таких форм на странице может быть несколько (9-20 не хотелось бы чтобы объектов было в два раза больше
форма сохраняется в виде обернутого набора в специальный объект
при этом перед сохранением на форму навешивается eventHandler на событие submit (отправка данных через AJAX но не мною
после сохранения объекта формы в переменную, сама форма удаляется из DOM
при доступе по переменной (var form = $("form"); form.submit; ) она сабмитится, но в ие срабатывает навешанный submit через AJAX, а в хроме/файрфоксе - срабатывает дефолтный сабмит формы
сейчас я просто после сохранения в переменную убираю хэндлер на сабмит, а потом снова навешиваю, после этого все работает
хотелось бы понять почему в разных браузерах срабатывает по-разному
Оставить комментарий
PooH
столкнулся с одной вещьюпример:
<body>
<div id='1'>lala</div>
</body>
script:
a.bind('click', function{
alert('A clicked!');
}); // биндим алерт на клик по диву
var a = $("div#1"); записываем обернутый объект в переменную
$("body").empty; // удаляет все children объекты из DOM
a.appendTo("body"); // вставляем наш див
// если теперь вызвать
$("div#1").click;
// тов ие увидим алерт, а хром и фаерфокс будут хранить тишину
из-за чего возникает такая ситуация?
ие копирует хэндлеры или не удаляет полностью объекты?