DOM (Document Object Model) догађаји дозвољавају програмским језицима заснованим на догађајима попут JavaScript, JScript, ECMAScript, VBScript и Java да региструју разне руковаоце догађајима/ослушкиваче догађаја над чворовима елемената унутар DOM стабла (нпр. HTML, XHTML, XUL, SVG документи).

Историјски гледано, модели догађаја коришћени од стране различитих Веб прегледача су имали неких значајнијих разлика. Ово је изазивало проблеме са компатибилношћу. Да би се изборили са овим, модел догађаја је стандардизован од стране W3C у DOM-у нивоа 2. Догађаји

HTML догађаји

Општи/W3C догађаји

Постоји огромна колекција догађаја који могу бити генерисани од стране многих чворова елемената: Догађаји који се односе на миш7.8 Drag and drop — HTML5Drag and drop - Web developer guide | MDN Догађаји који се односе на тастатуру HTML frame/object догађаји HTML form догађаји Догађаји корисничког интерфејса Мутациони догађаји (обавештења о било каквим променама структуре документа) Догађаји везани за напредакProgress Events (коришћени од стране XMLHttpRequest, File APIFile API ...)

Горенаведена класификација догађаја није потпуно иста као W3C класификација.

Категорија Тип Својство Опис Bubbles Поништавање Миш click onclick Испаљује се када се кликне на тастер показивачког уређаја док се курсор налази изнад неког елемента. Клик се дефинише као притискање и отпуштање тастера на истој позицији на екрану. Секвенца ових догађаја је: mousedown mouseup click Да Да dblclick ondblclick Испаљује се када се два пута узастопно кликне на тастер показивачког уређаја док се курсор налази изнад неког елемента. Да Да mousedown onmousedown Испаљује се када је притиснут тастер показивачког уређаја док се курсор налази изнад неког елемента. Да Да mouseup onmouseup Испаљује се када је отпуштен тастер показивачког уређаја док се налази изнад неког елемента. Да Да mouseover onmouseover Испаљује се када се курсор помери на неки елемент. Да Да mousemove onmousemove Испаљује се када се курсор помера док се налази изнад неког елемента. Да Не mouseout onmouseout Испаљује се када се курсор склони са неког елемента. Да Да dragstart ondragstart Испаљује се за елемент за који је започето превлачење. Да Да drag ondrag Овај догађај се испаљује над извором превлачења, тј. над елементом где је догађај dragstart испаљен, током операције превлачења. Да Да dragenter ondragenter Испаљује се када је курсор померен на неки други елемент док је превлачење активно. Да Да dragleave ondragleave Испаљује се када курсор напушта неки елемент док је превлачење активно. Да Не dragover ondragover Испаљује се када се курсор помера преко неког елемента док је превлачење активно. Да Да drop ondrop Испаљује се над елементом где је дошло до краја операције превлачења. Да Да dragend ondragend Извор превлачења ће примити dragend догађај по завршетку превлачења, без обзира да ли је операција била успешна или не. Да Не Тастатура keydown onkeydown Испаљује се пре догађаја keypress, када је тастер на тастатури притиснут. Да Да keypress onkeypress Испаљује се након догађаја keydown, када је тастер на тастатури притиснут и отпуштен. Да Да keyup onkeyup Испаљује се када је тастер на тастатури отпуштен. Да Да HTML frame/object load onload Испаљује се када кориснички агент заврши учитавање целог садржаја унутар документа, укључујући прозор, фрејмове, објекте и слике.

За елементе, испаљује се када је циљни елемент и сав његов садржај завршио са учитавањем. Не Не unload onunload Испаљује се када кориснички агент уклања сам садржај из прозора или фрејма.

За елементе, испаљује се када се уклони циљани елемент или било који од његових садржаја. Не Не abort onabort Испаљује се када је слика/објекат престао са учитавањем пре него што је потпуно учитан. Да Не error onerror Испаљује се када објекат/слика/фрејм не може бити учитан правилно Да Не resize onresize Испаљује се када је гледиште документа променило величину. Да Не scroll onscroll Испаљује се када је гледиште елемента или документа скроловано. Не Не HTML form select onselect Испаљује се када корисник селектује неки текст унутар текстуалног поља, укључујући input и textarea. Да Не change onchange Испаљује се када елемент изгуби фокус и уколико је притом његова вредност измењена у односу на стање које је било пре фокусирања на елемент. Да Не submit onsubmit Испаљује се када је формулар submit-ован Да Да reset onreset Испаљује се када је формулар ресетован. Да Не focus onfocus Испаљује се када неки елемент добије фокус преко показивачког уређаја или притиском на тастер tab. Не Не blur onblur Испаљује се када неки елемент изгуби фокус преко показивачког уређаја или притиском на тастер tab. Не Не Кориснички интерфејс focusin (нема) Слично HTML focus догађају, али може бити примењен над било којим елементом који може бити фокусиран. Да Не focusout (нема) Слично HTML blur догађају, али може бити примењен над било којим елементом који може бити фокусиран. Да Не DOMActivate (нема) Слично XUL командном догађају. Испаљује се када је неки елемент активиран, на пример преко догађаја click или keypress. Да Да Мутациони DOMSubtreeModified (нема) Испаљује се ако је подстабло модификовано. Да Не DOMNodeInserted (нема) Испаљује се када је чвор додат као дете неког другог чвора. Да Не DOMNodeRemoved (нема) Испаљује се када је чвор уклоњен из DOM стабла. Да Не DOMNodeRemovedFromDocument (нема) Испаљује се када је чвор уклоњен из документа. Не Не DOMNodeInsertedIntoDocument (нема) Испаљује се када је чвор убачен у документ. Не Не DOMAttrModified (нема) Испаљује се када је неко својство модификовано. Да Не DOMCharacterDataModified (нема) Испаљује се када су карактерски подаци модификовани. Да Не Progress loadstart (нема) Прогрес је започео. Не Не progress (нема) У напретку. Након што је догађај loadstart послат. Не Не error (нема) Напредак је неуспешан. Након што је последњи догађај progress послат, или након догађаја loadstart ако progress није послат. Не Не abort (нема) Напредак је прекинут. Након што је последњи догађај progress послат, или након догађаја loadstart ако progress није послат. Не Не load (нема) Напредак је успешан. Након што је последњи догађај progress послат, или након догађаја loadstart ако progress није послат. Не Не loadend (нема) Напредак је заустављен. Након догађаја error, abort, или load. Не Не

Уочите да догађаји који започињу са “DOM” тренутно нису добро подржани, и због ових и других разлога везаних за перформансе су означени као застарели од стране W3C у DOM-у нивоа 3. Mozilla и Опера подржавају DOMAttrModified, DOMNodeInserted, DOMNodeRemoved и DOMCharacterDataModified. Chrome и Safari подржавају све ове догађаје, осим DOMAttrModified.

Догађаји за додир Интернет прегледачи који раде на уређајима са екраном осетљивим на додир, као што су Apple's iOS i Google-ov Android, генеришу додатне догађаје. Категорија Тип Атрибут Опис Bubbles Cancelable Touch touchstart Испаљује се када се прст постави на одређену површину/екран. Да Да touchend Испаљује се када се прст склони са одређене површине/екрана. Да Да touchmove Испаљује се када се прст који је већ постављен на екран помера преко екрана. Да Да touchenter Испаљује се када померимо тачку додира на интерактивно поље дефинисано Дом елементом. Да Да touchleave Испаљује се када тачку додира померимо са интерактивног поља дефинисаним Дом елементом. Да Да touchcancel Кориснчки агент шаље ову врсту догађаја како би нагласио када је дошло до померања тачке додира на неки специфичан начин, као што је кретање изван границе UA прозора. Кориснички агент такође шаље овај догађај када корисник има више тачака додира. Да Не

у W3C препоруци, TouchEvent даје TouchList од Touch локација, modifier key који су активни, TouchList од Touch локација у оквиру циљаног Дом елемента, и TouchList од Touch локација које су измењене у односу на претходни TouchEvent.

Apple се није придржао ове препоруке, и W3C препорука у вези са Touch Events спецификацијом је одложена.

Курсор ДогађајиPointer Events Интернет прегледачи на уређајима са различитим улазом укључујући миша, екран на додир, и оловку могу да генеришу интегрисане улазне догађаје. Корисници могу да виде који тип улазног уређаја је притиснут, које дугме је притиснуто на уређају, и колико јако оловка за цртање притиснута. Од Октобра 2013, овај догађај је подржан на Internet Explorer 10 и 11.

Категорија Тип Својство Опис Балончићи Поништавање Курсор pointerdown onpointerdown Опаљује када је дугме уређаја курсора активирано, или притиснуто преко елемента. Да Да pointerup onpointerup Опаљује када је дугме уређаја отпуштено прекео елемента Да Да pointercancel onpointercancel Опаљује када ће показивачки уређај највероватније да престане да производи догађај ѕбог, на пример, када је уређај коришћен за померање/зумирање после pointerdown догађаја. Да Да pointermove onpointermove Опаљује када је показивачки уређај померен све док је преко елемента Да Да pointerover onpointerover Опаљује када је показивачки уређај померен на елемент Да Да pointerout onpointerout Опаљује када је показивачки уређај померен од елемента. Такође опаљује после pointerup од показивачког уређаја без лебдења преко или после Да Да pointerenter onpointerenter Опаљује када је показивачки уређај померен на елемент, или када је дугме показивачког уређаја који не подржава лебдење преко елемента је притиснут на један од потомка елемента Не Да pointerleave onpointerleave Опаљује када је показивачки уређај склоњен са елемент, или када је дугме показивачког уређаја који не подржава лебдење преко елемента је отпуштен са једног од потомка елемента Не Да gotpointercapture ongotpointercapture Опаљује када је курсор ухваћен од setPointerCapture методе Да Не lostpointercapture onlostpointercapture Опаљује када је курсор отпуштен од releasePointerCapture методе Да Не

Indie UI догађајиIndieUI: Events 1.0

Иако још увек није стварно имплементиран, Indie UI радне групе желе да помогну програмерима веб апликација да буду у могућности прихвате догађаје стандардне интеракције корисника беѕ потребе за различитим платформама посебних техничких догађаја without having to handle different platform specific technical events that could match with it.

Скрипт употребљиви интерфејс може бити тежак, нарочито када се узме у обзир да се дизајн корисничког интерфејса разликује иѕмеђу софтверских платформи, хардвера и LOCALES, и да те интеракције могу бити додатно прилагођене на основу личног избора. Појединци су навикли да интерфејс раде на свом систему, а њихов омиљени интерфејс се често разликује од пожељног интерфејса веб апликације аутора

На пример, аутори веб апликација, зеле да пресретну намеру корисника tercept за наредбом 'undo' у последњој акцији, треба да "слушају" ѕа све следеће наредбе: control+z на Windows и Linux. command+z на Mac OS X. 'Shake events' на мобилним уређајима

Било би једноставније да се ослушкује за појединачан, нормализован захтев за поништавање претходне акције.