Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 12.02.2009, 17:07
Новичок на форуме
Отправить личное сообщение для slayer_tmb Посмотреть профиль Найти все сообщения от slayer_tmb
 
Регистрация: 11.02.2009
Сообщений: 5

Да наверное в этом и был прикол. Я тока начал с DOM-ом разбираться и за неделю читая о понятиях микрософта в этом направлении тоже ушел в ах...й. А getAttribute у меня на самом деле временный был. Сперва присваивал без него. потом решил попробывать. смотрю функцию возвращает. вот и решил что нет разницы. просто этот конкретный момент я таки тока в ие и потестил.

.... блиииин ниче не понимаю уже
сравните плиз два кода оба кода находятся внутри функции вызываемой онлоадом


//этот не работает при нажатии говорит не известный объект f[..] или Null
var f = new Array(menunum);
for(i=0;i<menunum;i++)
{
f[i]=menunodes[i].onclick;
if(typeof(f[i])=='function')
menunodes[i].onclick=function() { MenuClick(this);f[i].call() }
else
menunodes[i].onclick=function() { MenuClick(this); }
}


//а этот работает
var f = menunodes[1].onclick;
for(i=0;i<menunum;i++)
{
...
menunodes[i].onclick=function() { MenuClick(this); };
}
if(typeof(f)=='function')
menunodes[1].onclick=function() { MenuClick(this);f.call() }

Последний раз редактировалось slayer_tmb, 13.02.2009 в 16:08.
Ответить с цитированием
  #12 (permalink)  
Старый 15.02.2009, 11:06
Новичок на форуме
Отправить личное сообщение для slayer_tmb Посмотреть профиль Найти все сообщения от slayer_tmb
 
Регистрация: 11.02.2009
Сообщений: 5

Сообщение от Андрей Параничев Посмотреть сообщение
slayer_tmb,
На все ваши вопросы ответят две статьи:
http://javascript.ru/tutorial/basic/...ispol-zovaniia
http://javascript.ru/start/events/intro
То что надо
добавив статью про замыкания
почитал, разобрался, сделал... спасибо большое
Супер сайт

рабочий вариант получился такой
for(i=0;i<menunum;i++)
{
.....
if(typeof(menunodes[i].onclick)=='function')
{
var f=menunodes[i].onclick;
menunodes[i].onclick=function(x) {
return function() { MenuClick(this); x.call(); } }(f);
}
else
menunodes[i].onclick=function() { MenuClick(this); };

}
Мне показалось это намного убобнее атачивента и аддивентлистнера. во первых кроссбраузерность во вторых порядок выполнения функцию легко задать.
Правда вот об убивании функций не думал но в моей задаче они не нужны

Последний раз редактировалось slayer_tmb, 15.02.2009 в 11:18.
Ответить с цитированием
  #13 (permalink)  
Старый 02.10.2014, 11:43
Новичок на форуме
Отправить личное сообщение для ilromka Посмотреть профиль Найти все сообщения от ilromka
 
Регистрация: 02.10.2014
Сообщений: 1

Добавить функцию в обработчик onclick
Допустим есть функция myFunction.
А теперь добавляем в нее новый функционал:

var myOldFunction = myFunction;
function myFunction()
{
...добавляем сюда новый функционал...
myOldFunction();
...или сюда...
}
Ответить с цитированием
  #14 (permalink)  
Старый 02.10.2014, 19:23
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Я чета не пойму - это топик мазохистов? Чем addEventListener/attachEvent им не угодил?
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в IE динамически установить значение события onClick? Гость Элементы интерфейса 6 16.01.2011 23:46
Вопрос про вызов события onClick skyfish Общие вопросы Javascript 12 27.12.2008 19:12
Изменить текст под изображением на котором событие onclick GodRa Общие вопросы Javascript 2 12.11.2008 23:15
Изменение onClick из Javascript Александр Events/DOM/Window 5 01.05.2008 16:44