Dojo toolkit

Eseménykezelés (dojo/on)

A dojo/on egy általános célú eseménykezelő modul DOM node-okhoz és egyéb eseményeket kiváltó objektumokhoz. Könnyű és gyors, a modern böngészők eseménykezelési modelljén (event model) alapul. Ezzel a modullal elavulttá vált a dojo/connect eseménykezelése.

on

require([ "dojo/on" ], function(on) { on(target, "event", function(e) { // handle the event }); });

once

Ezzel egy olyan eseménykezelőt regisztrálhatunk, ami egyetlen egyszer fog lefutni, majd törlődik az eseménykezelők közül. Tulajdonképpen az alábbival egyenértékű:

require([ "dojo/on" ], function(on) { var myListener = on(target, "event", function() { myListener.remove(); // do something }); });

emit

Normalizált mechanizmust biztosít események generálására. Ahol lehetséges, kihasználja a natív eseménykezelés adta lehetőségeket, ellenkező esetben emulálja azokat.

require([ "dojo/on" ], function(on) { on.emit(target, "event", { bubbles : true, cancelable : true }); });

Az első argumentum lesz az esemény forrása, ez lehet egy olyan objektum, aminek megvannak a saját eseménykezelési képességei (pl. egy DOM element vagy a window), illetve lehet egy sima JavaScript objektum, aminek van on() metódusa.

A második argumentum az esemény neve, ez lehet egy standard esemény (például click), illetve lehet egy saját is (például finished).

Példa: demo/On.htm

A harmadik argumentum az esemény property-eit tartalmazza, ezeket a W3C standardnak megfelelően célszerű kitölteni. Különösen fontos az alábbi kettő:

A visszatérési érték az esemény objektum, hacsak nem lett visszavonva, ebben az esetben false-al tér vissza.