code: function() {
          this.events = new OpenLayers.Events(this, this.div, null, true);
  
          function onTouchstart(evt) {
              OpenLayers.Event.stop(evt, true);
          }
          this.events.on({
              "mousedown": this.onmousedown,
              "mousemove": this.onmousemove,
              "mouseup": this.onmouseup,
              "click": this.onclick,
              "mouseout": this.onmouseout,
              "dblclick": this.ondblclick,
              "touchstart": onTouchstart,
              scope: this
          });
          
       }
docs: Method: registerEvents
  Registers events on the popup.
  
  Do this in a separate function so that subclasses can
  choose to override it if they wish to deal differently
  with mouse events
  
  Note in the following handler functions that some special
  care is needed to deal correctly with mousing and popups.
  
  Because the user might select the zoom-rectangle option and
  then drag it over a popup, we need a safe way to allow the
  mousemove and mouseup events to pass through the popup when
  they are initiated from outside. The same procedure is needed for
  touchmove and touchend events.
  
  Otherwise, we want to essentially kill the event propagation
  for all other events, though we have to do so carefully,
  without disabling basic html functionality, like clicking on
  hyperlinks or drag-selecting text.