Полезная информация

Юристы зарабатывают огромные деньги и славу, оперируя хорошим знанием законов. Правила форума — простой путь к успешному общению.

№108-06-2006 01:26:17

Waster
Участник
 
Группа: Members
Зарегистрирован: 03-06-2006
Сообщений: 5

Перехват onClick

Добрый вечер.

Помогите плиз с перехватом события onClick.
Пишу расширение и надо, чтобы у кнопки, если у нее есть аттрибут onclick, запустить сначала свой обработчик, а ТОЛЬКО потом ту функцию, которая была описана onclick'ом.

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

Отсутствует

 

№208-06-2006 14:21:13

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: Перехват onClick

Выделить код

Код:

var element = new XPCNativeWrapper (getBrowser (). contentDocument. getNeededElement (...)). wrappedJSObject;
element. oldonclick = element. onclick;
element. onclick = function (event)
{
    ... // реализация моего обработчика
    element. oldonclick (event); // вызов старого обработчика
}

p.s.
Кроме того, можно назначить обработчик
[ol][oli]1. родительскому элементу.[/oli][oli]2. документу[/oli][oli]3. браузеру вкладки, в котором расположен документ.[/oli][/ol]

Отредактировано Anton (09-06-2006 02:58:34)


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№308-06-2006 18:02:19

Waster
Участник
 
Группа: Members
Зарегистрирован: 03-06-2006
Сообщений: 5

Re: Перехват onClick

Спасибо огромное. Все заработало!

А кстати, зачем все-таки здесь XPCNativeWrapper?...

Отсутствует

 

№408-06-2006 19:00:42

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: Перехват onClick

There are some commonly used properties and coding styles that cannot be used with XPCNativeWrapper. Specifically:

   1. Assigning to or reading an on* property on an XPCNativeWrapper of a DOM node or Window object will throw an exception. (Use addEventListener instead, and use "event.preventDefault();" in your handler if you used "return false;" before.)

(http://developer.mozilla.org/en/docs/XPCNativeWrapper)


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№508-06-2006 20:31:01

Waster
Участник
 
Группа: Members
Зарегистрирован: 03-06-2006
Сообщений: 5

Re: Перехват onClick

Очень странно. У меня и без этого работает..8)

Отсутствует

 

№608-06-2006 20:32:04

Waster
Участник
 
Группа: Members
Зарегистрирован: 03-06-2006
Сообщений: 5

Re: Перехват onClick

Не подскажете плиз заодно как получить доступ к содержимому текущего таба?

Отсутствует

 

№709-06-2006 03:00:48

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: Перехват onClick

Waster пишет

Очень странно. У меня и без этого работает..8)

Я ведь не из расширения код проверял - у меня без wrapper'а не читало onclick.

как получить доступ к содержимому текущего таба

Выделить код

Код:

getBrowser (). contentDocument

Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]