Javascript.RU

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

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

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

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

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

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

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

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

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

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

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


обрабатывать получается а при добавление рекурсия получается...
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
Ответить с цитированием
  #6 (permalink)  
Старый 26.10.2009, 13:07
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.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, 14: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, 14:39
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.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 в 14:42.
Ответить с цитированием
  #9 (permalink)  
Старый 26.10.2009, 21:08
Аватар для Phoenix
Профессор
Отправить личное сообщение для Phoenix Посмотреть профиль Найти все сообщения от Phoenix
 
Регистрация: 24.09.2007
Сообщений: 165

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



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

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


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