Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / DHTML /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Обработка событий в Internet Explorer - Программирование от RIN.RU
Обработка событий в Internet Explorer



Дополнительные методы интерфейса HTMLElement


Вместо стандартного интерфейса EventTarget элементы HTML в IE имеют следующие нестандартные методы:




Нестандартные методы интерфейса HTMLElement
МетодОписание
attachEventРегистрирует обработчик событий заданного типа.
detachEventУдаляет заданный обработчик событий заданного типа.
fireEventГенерирует заданное событие.
releaseCaptureОтключает перехват событий мыши.
setCaptureВключает перехват событий мыши.



Метод attachEvent


Синтаксис:  элемент.attachEvent(type, function)
Аргументы: type - выражение типа DOMString
function - указатель на функцию
Результат: логическое значение




Метод attachEvent регистрирует новый обработчик function события type для данного элемента. Он возвращает true, если регистрация прошла успешно, и false в противном случае. Если новый обработчик регистрируется во время обработки события, то он будет активизироваться только следующими событиями. Если для события зарегистрированы несколько обработчиков, то они вызваются в произвольном порядке. В следующем примере создается обработчик нажатия клавиши, который сработает только один раз.



<BODY onload="document.getElementById('btn').attachEvent('onclick', hurrah)">
<SCRIPT>
function hurrah() {
alert('Молодец!');
event.srcElement.detachEvent('onclick', hurrah);
}
</SCRIPT>
<BUTTON id="btn">Нажми меня</BUTTON>





Метод detachEvent


Синтаксис:  элемент.detachEvent(type, function)
Аргументы: type - выражение типа DOMString
function - указатель на функцию




Метод detachEvent дерегистрирует обработчик function события type для данного элемента, который был ранее зарегистрирован методом attachEvent.


Метод fireEvent


Синтаксис:  элемент.fireEvent(type, evt?)
Аргументы: type - выражение типа DOMString
evt - выражение типа event
Результат: логическое значение




Метод fireEvent генерирует событие type для данного элемента. Необязательный аргумент evt должен содержать указатель на объект типа event, содержащий описание генерируемого события. Метод возвращает true, если генерация события прошла успешно, и false в противном случае.


Независимо от содержимого аргумента evt четыре его параметра всегда инициализируются следующими значениями:




cancelBubblefalse
returnValuetrue
srcElementэлемент, чей метод fireEvent вызван
typeтип события, заданный в вызове fireEvent



Пример генерации события (переменная evt здесь на самом деле не нужна и приведена только для того, чтобы показать, как создаются объекты типа event):




<BODY onload="init()">
<SCRIPT>
function init() {
document.body.attachEvent('onclick', hurrah);
var evt = document.createEventObject();
document.body.fireEvent('onclick', evt);
}
function hurrah() { alert('Молодец!'); }
</SCRIPT>





Метод releaseCapture


Синтаксис:  элемент.releaseCapture()




Метод releaseCapture отключает перехват событий мыши, включенный методом setCapture.


Метод setCapture


Синтаксис:  элемент.setCapture(flag?)
Аргументы: flag - логическое выражение




Метод setCapture включает перехват всех событий, генерируемых мышью. Если его аргумент flag равен true (принято по умолчанию), то данный элемент будет перехватывать все события мыши в пределах всего документа. Если аргумент равен false, то данный элемент будет перехватывать только события мыши от содержащихся внутри него элементов. Включение перехвата событий мыши запрещает выбор текста и перетаскивание (drag-and-drop) в окне обозревателя. Пример:



<BODY onload="document.getElementById('capturer').setCapture()">
<DIV id="capturer" onclick="alert('Молодец!')">
</DIV>
<BUTTON>Щелчок на этой кнопке перехватывается элементом DIV.</BUTTON>






<<<  НазадВперед  >>>
 1  2  3  4 


 8  Комментарии к статье  8 8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь