UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

104 lines (85 loc) 2.69 kB
/* ************************************************************************ qooxdoo - the new era of web development http://qooxdoo.org Copyright: 2004-2008 1&1 Internet AG, Germany, http://www.1und1.de License: MIT: https://opensource.org/licenses/MIT See the LICENSE file in the project's top-level directory for details. Authors: * Sebastian Werner (wpbasti) * Fabian Jakobs (fjakobs) * Christian Hagendorn (chris_schmidt) ************************************************************************ */ /** * Native mouse events * @tag noPlayground */ qx.Class.define("qxl.demobrowser.demo.event.MouseEvent_LowLevel", { extend : qxl.demobrowser.demo.event.EventDemo, members : { __logMouseEventWrapper : null, main : function() { this.base(arguments); this.__logMouseEventWrapper = qx.lang.Function.bind(this.logMouseEvent, this); this._initLogger( ["Target", "Event", "button", "clientX", "clientY", "screenX", "screenY", "relatedTarget"], document.getElementById("logger"), 50 ); var mouseDiv = document.getElementById("mouse"); var events = ["mousedown", "mouseup", "click", "dblclick", "contextmenu", "mousemove", "mouseover", "mouseout"]; for (var i=0; i<events.length; i++) { var elem = document.getElementById("check_" + events[i]) if (elem.checked) { qx.bom.Event.addNativeListener( mouseDiv, events[i], this.__logMouseEventWrapper ); } qx.bom.Event.addNativeListener(elem, "change", qx.lang.Function.bind(this.__changeCheckbox, this)); } }, __changeCheckbox : function(e) { var target = qx.bom.Event.getTarget(e); var type = target.id.split("_")[1]; var checked = target.checked; var mouseDiv = document.getElementById("mouse"); if (checked) { qx.bom.Event.addNativeListener( mouseDiv, type, this.__logMouseEventWrapper ); } else { qx.bom.Event.removeNativeListener( mouseDiv, type, this.__logMouseEventWrapper ); } }, logMouseEvent: function(mouseEvent) { qx.bom.Event.preventDefault(mouseEvent); this._log([ qx.bom.Event.getTarget(mouseEvent).id, mouseEvent.type, mouseEvent.button, mouseEvent.clientX, mouseEvent.clientY, mouseEvent.screenX, mouseEvent.screenY, qx.bom.Event.getRelatedTarget(mouseEvent) ? qx.bom.Event.getRelatedTarget(mouseEvent).id : "" ]); } } });