Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.10.2009, 12:26
Аватар для Phoenix
Профессор
Отправить личное сообщение для Phoenix Посмотреть профиль Найти все сообщения от Phoenix
 
Регистрация: 24.09.2007
Сообщений: 165

Поймать appendChild
Здравствуйте.

Мне надо перехватывать все событий appendChild. Возможно ли это реализовать?

Мне нужно заменить обработчик этой функции.

Спасибо
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
Ответить с цитированием
  #2 (permalink)  
Старый 26.10.2009, 13:11
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Это не событие. Метод переопределить в ИЕ не получится сразу для всех элементов.
Ответить с цитированием
  #3 (permalink)  
Старый 26.10.2009, 13:13
Аватар для Phoenix
Профессор
Отправить личное сообщение для Phoenix Посмотреть профиль Найти все сообщения от Phoenix
 
Регистрация: 24.09.2007
Сообщений: 165

а если для какого то определенного элемента? допустим для DIV'a.

мне нужно проанализировать создаваемый елемент, и если это скрипт, то дописать в src дополнительно текст.
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
Ответить с цитированием
  #4 (permalink)  
Старый 26.10.2009, 13:18
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Ну переопределите у этого элемента метод.
Ответить с цитированием
  #5 (permalink)  
Старый 26.10.2009, 13:44
Аватар для Phoenix
Профессор
Отправить личное сообщение для Phoenix Посмотреть профиль Найти все сообщения от Phoenix
 
Регистрация: 24.09.2007
Сообщений: 165

хм, а как потом добавить то сам элемент?

document.getElementById('id1').appendChild = function(el){
         //обработка элемента
         document.getElementById('id1').appendChild(el);
}


обрабатывать получается а при добавление рекурсия получается...
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
Ответить с цитированием
  #6 (permalink)  
Старый 26.10.2009, 14:07
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

var node = document.getElementById("id1");
var append = node.appendChild;
node.appendChild = function(element) {
    //обработка элемента
    append.call(node, element);
};
Ответить с цитированием
  #7 (permalink)  
Старый 26.10.2009, 15:09
Аватар для Phoenix
Профессор
Отправить личное сообщение для Phoenix Посмотреть профиль Найти все сообщения от Phoenix
 
Регистрация: 24.09.2007
Сообщений: 165

Сообщение от Octane Посмотреть сообщение
var node = document.getElementById("id1");
var append = node.appendChild;
node.appendChild = function(element) {
    //обработка элемента
    append.call(node, element);
};
в IE ругается, что не знает метода call. в ФФ и опере нормально работает
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
Ответить с цитированием
  #8 (permalink)  
Старый 26.10.2009, 15:39
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

О_о

ну тогда как-то так:
var node = document.getElementById("id1");
var append = node.appendChild;
node.appendChild = function(element) {
	//обработка элемента
	try {
		append.call(node, element);
	} catch(error) {
		append(element);
	}
};

ну или проверку браузера делать

___________

или так:

var node = document.getElementById("id1");
node.append = node.appendChild;
node.appendChild = function(element) {
	//обработка элемента
	node.append(element);
};

Последний раз редактировалось Octane, 26.10.2009 в 15:42.
Ответить с цитированием
  #9 (permalink)  
Старый 26.10.2009, 22:08
Аватар для Phoenix
Профессор
Отправить личное сообщение для Phoenix Посмотреть профиль Найти все сообщения от Phoenix
 
Регистрация: 24.09.2007
Сообщений: 165

спасибо большое теперь работает правильно
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопрос такой:как поймать ивент до нажатия на линк!!? magavnuk Events/DOM/Window 3 13.07.2009 16:22
Поймать ссылку при перезагрузке. Roin Общие вопросы Javascript 0 17.06.2009 15:30
Как поймать потерю фокуса у текстбоска? sergeos Общие вопросы Javascript 1 11.02.2009 00:38
Как поймать родительское окно. Kapriz Events/DOM/Window 1 05.01.2009 14:37
WYSIWYG не могу поймать событие onkeypress scuter Общие вопросы Javascript 5 25.09.2008 16:14