UNPKG

dojo

Version:

Dojo core is a powerful, lightweight library that makes common tasks quicker and easier. Animate elements, manipulate the DOM, and query with easy CSS syntax, all without sacrificing performance.

60 lines (53 loc) 1.57 kB
define(["./kernel", "../on", "../has", "../dom-geometry"], function(dojo, on, has, dom){ // module: // dojo/_base/event if(on._fixEvent){ var fixEvent = on._fixEvent; on._fixEvent = function(evt, se){ // add some additional normalization for back-compat, this isn't in on.js because it is somewhat more expensive evt = fixEvent(evt, se); if(evt){ dom.normalizeEvent(evt); } return evt; }; } var ret = { // summary: // This module defines dojo DOM event API. Usually you should use dojo/on, and evt.stopPropagation() + // evt.preventDefault(), rather than this module. fix: function(/*Event*/ evt, /*DOMNode*/ sender){ // summary: // normalizes properties on the event object including event // bubbling methods, keystroke normalization, and x/y positions // evt: Event // native event object // sender: DOMNode // node to treat as "currentTarget" if(on._fixEvent){ return on._fixEvent(evt, sender); } return evt; // Event }, stop: function(/*Event*/ evt){ // summary: // prevents propagation and clobbers the default action of the // passed event // evt: Event // The event object. If omitted, window.event is used on IE. if(has("dom-addeventlistener") || (evt && evt.preventDefault)){ evt.preventDefault(); evt.stopPropagation(); }else{ evt = evt || window.event; evt.cancelBubble = true; on._preventDefault.call(evt); } } }; if(has("extend-dojo")){ dojo.fixEvent = ret.fix; dojo.stopEvent = ret.stop; } return ret; });