[JS] дополнить реакцию на событие
var tmp = link.onclick;
link.onclick = function {
gj;
return tmp;
};
1) tmp должен выполняццо обязательно перед gj
2) если используеццо в начальном onclicke'e объект this, то в tmp он не будет виден
var tmp = link.onclick;Только apply нету, например, в IE 5.0, но реализацию через eval можно найти в библиотеке prototype (а ещё лучше оттуда bind взять и сделать с помощью него).
link.onclick = function {
var tmpResult = tmp.apply(link);
gj.apply(link);
return tmpResult;
};
только мы, увидив, что в ИЕ 5.0 не пашет, забили на этот способ...
придумали вот что: :О
var temp=sp_links.onclick;
var sp_onclick = temp.toString.match(/^[^\{\}]*\{([\S\s]*)\}[^\}\{]*$/i);
sp_links.onclick= new Function( sp_onclick[1]+" gj;");
А не судьба attachEvent использовать?
ща посмотрел, потестил...
два недостатка:
1) не кроссбраузерно. Но это еще ладно, можно обойти.
2) если в исходном onclick'e стоит return false, то событие, добавленное через Attach, выполнится, а этого не нужно! Это уже критично...
1) кроссбраузерность
2) при return false прикрепленное событие не выполнится
3) порядок выполенния событий верный: сначала исходное, потом прикрепленное
4) this, event доступны остаются
![](/images/graemlins/cool.gif)
![](/images/graemlins/cool.gif)
![](/images/graemlins/cool.gif)
тут ). Но ежели охото через жопу, то можно и через жопу, кто ж спорит.
//
Он кросбраузерный. Токо в ИЕ и Опере с Мозилой по разному называются (читай, например, //
я ж написал, что кроссбр. это так, мелочь, гораздо важнее другой факт, по которому отказываюсь от этого способа
перечитай бля мой пост - ответ на твой, а именно второй пункт !сам перечитай ссылку которую дали
там русским языком написано как приаттачить так чтобы return false работал
Ну и делайте через жопу, раз у вас такой стиль программирования принят.
Оставить комментарий
Arina_Kulikova
есть такая страничкафункция out_func пробегает по всем ссылкам страницы u ставит им на onclick некоторые действия
если у ссылки нет своего onclick'a то все ок, а вот если есть....
вопрос: как дополнить существующие действия на событие своими?