Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Очистка памяти, отмена загрузки картинки, отмена события. (https://javascript.ru/forum/misc/51067-ochistka-pamyati-otmena-zagruzki-kartinki-otmena-sobytiya.html)

zhurchik 23.10.2014 11:41

Очистка памяти, отмена загрузки картинки, отмена события.
 
Приветствую Вас Уважаемые форумчане.
У меня собственно 3 вопроса к Вам профессионалам)
1. К примеру, я создаю объект createElement("div"), добавляю в него текст, атрибуты и вывожу в общий поток ...appendChild(createdElement), но потом мне он уже не нужен будет. Нужно ли мне удалять ссылку на объект? И как это сделать, в голову приходит только такой код createdElement = {}

2. Я пишу галерею и в ней имеются стрелочки для переключения картинок, если пользователь не дождался загрузки картинки и нажал далее, как мне отменить загрузку предыдущей картинки? Сами же картинки загружаются через объект image, а именно:
var img = document.createElement('img')
img.src = Адрес картинки
Может быть есть что-то наподобие abort()?

3. На одном из блоков у меня висят 2 обработчика первый onclick, а второй onbdlclick так вот, как сделать так, чтобы когда срабатывает второй обработчик первый не срабатывал?

Буду благодарен за любую помощь!

ksa 23.10.2014 11:47

Цитата:

Сообщение от zhurchik
К примеру, я создаю объект createElement("div"), добавляю в него текст, атрибуты и вывожу в общий поток ...appendChild(createdElement), но потом мне он уже не нужен будет. Нужно ли мне удалять ссылку на объект? И как это сделать, в голову приходит только такой код createdElement = {}

Если все это происходит у тебя в функции, все исчезнет по окончании ее работы...

zhurchik 23.10.2014 11:50

ksa,
Кстати, хотел подчеркнуть то, что все это происходит в моем собственном объекте, но подумал, что пост слишком длинный получится!)

ksa 23.10.2014 11:56

Цитата:

Сообщение от zhurchik
все это происходит в моем собственном объекте

Может всетаки в методе объекта?
Метод отработает - все исчезнет...

ksa 23.10.2014 11:57

Цитата:

Сообщение от ksa
в голову приходит только такой код createdElement = {}

Так будет ссылка на пустой объект...

ksa 23.10.2014 11:58

Цитата:

Сообщение от zhurchik
но подумал, что пост слишком длинный получится

Лучше всего сразу использовать тестовые примеры... Они малы и сразу все понятно.

zhurchik 23.10.2014 12:15

Цитата:

Сообщение от ksa (Сообщение 337072)
Может всетаки в методе объекта?
Метод отработает - все исчезнет...

Да, методе, я думал и так понятно.
А как система поймет, что метод отработал? Ведь другие методы этого объекта продолжают работать.

kostyanet 23.10.2014 12:15

Цитата:

Сообщение от zhurchik
Нужно ли мне удалять ссылку на объект?

Не надо делать таких ссылок. var elem = document.createElement()... elem.style... метод закрылся, elem сдох.

Цитата:

var img = document.createElement('img')
img.src = Адрес картинки
Пользователь нажал не дожидаясь, значит var img = document.createElement('img'); img.src = Адрес новой картинки вот и весь аборт.

3. Уберите щелчок.

kostyanet 23.10.2014 12:17

Цитата:

Сообщение от zhurchik
А как система поймет, что метод отработал?

Одуреть, а {} на что?

danik.js 23.10.2014 12:22

Цитата:

Сообщение от kostyanet
img.src = Адрес новой картинки вот и весь аборт.

Насколько я знаю не будет никакого аборта. Есть даже такой код для прелоада картинок:
var image = new Image();
['img1.png', 'img2.png'].forEach(function(src) {
     image.src = src;
});


Часовой пояс GMT +3, время: 16:02.