[OpenLayers-Users] mousedown

Greg Ederer greg at ergonosis.com
Wed May 6 13:24:44 EDT 2009


I just tried your suggestion.  No luck.  I've also tried:

   this.map.events.register('mousedown', this, function()  
{ alert('foo'); } );

But this doesn't do it either.  I'm now considering just adding an  
event listener to the Map's outermost div, and managing the mousedown  
event myself.  Does anyone happen to know how to get a reference to  
the right HTML element?

Thanks!

Greg


On May 6, 2009, at 9:32 AM, Eric Lemoine wrote:

> On Tuesday, May 5, 2009, Greg Ederer <greg at ergonosis.com> wrote:
>> Is there some way to register a callback to handle mousedown?  I  
>> really need this to get my user interface working properly.
>
> Have you tried something like:
>
> map.events.on({
>   "mousedown": function(e) {
>       // do something on mousedown
>   }
> });
>
> ?
>
>>
>> Cheers,
>>
>> Greg
>>
>>
>> On May 5, 2009, at 9:59 AM, Eric Lemoine wrote:
>>
>>
>> On Monday, May 4, 2009, Greg Ederer <greg at ergonosis.com> wrote:
>>
>> For reference, here's my code so far:
>>
>>      OpenLayers.Control.Click =  
>> OpenLayers.Class(OpenLayers.Control, {
>>        defaultHandlerOptions: {
>>          'single': true,
>>          'double': false,
>>          'mousedown' : false,
>>          'pixelTolerance': 0,
>>          'stopSingle': false,
>>          'stopDouble': false
>>        },
>>
>>        initialize: function(options)
>>        {
>>          this.handlerOptions = OpenLayers.Util.extend(
>>          {}, this.defaultHandlerOptions
>>            );
>>          OpenLayers.Control.prototype.initialize.apply(
>>            this, arguments
>>            );
>>          this.handler = new OpenLayers.Handler.Click(
>>            this, {
>>              'click': this.onClick,
>>              'dblclick': this.onDblclick,
>>              'mousedown' : this.onMouseDown
>>            }, this.handlerOptions
>>            );
>>        },
>>
>>        onMouseDown : function(evt)
>>        {
>>          alert('hi');
>>        },
>>
>>        ...
>>
>>      var controls = {
>>        "single": new OpenLayers.Control.Click({
>>          hanlerOptions: {
>>            "single": true
>>          }
>>        }),
>>        "mousedown": new OpenLayers.Control.Click({
>>          hanlerOptions: {
>>            "single": true
>>          }
>>        }),
>>        "double": new OpenLayers.Control.Click({
>>          handlerOptions: {
>>            "single": false,
>>            "double": true
>>          }
>>        }),
>>        "both": new OpenLayers.Control.Click({
>>          handlerOptions: {
>>            "single": true,
>>            "double": true
>>          }
>>        }),
>>        "drag": new OpenLayers.Control.Click({
>>          handlerOptions: {
>>            "single": true,
>>            "pixelTolerance": null
>>          }
>>        }),
>>        "stopsingle": new OpenLayers.Control.Click({
>>          handlerOptions: {
>>            "single": true,
>>            "stopSingle": true
>>          }
>>        }),
>>        "stopdouble": new OpenLayers.Control.Click({
>>          handlerOptions: {
>>            "single": false,
>>            "double": true,
>>            "stopDouble": true
>>          }
>>        })
>>      };
>>
>>      var control;
>>      for(var key in controls) {
>>        control = controls[key];
>>        // only to route output here
>>        control.key = key;
>>        this.map.addControl(control);
>>      //console.log('added control: ' + key);
>>      }
>>
>> But, onMouseDown never gets called.
>>
>>
>> This is expected. The Click handler can be passed "click" and
>> "dblclick" callbacks only.
>>
>> Cheers,
>>
>>
>>
>>
>>
>>
>> Greg
>>
>> On May 4, 2009, at 10:16 AM, Greg Ederer wrote:
>>
>>
>> Hi,
>>
>> I need to capture mousedown events on a Map.  I'm using a custom
>> OpenLayers.Control.Click for click and dblclick.  But, Click does not
>> appear to handle mousedown events.  Any suggestions?
>>
>> Thanks!
>>
>> Greg
>> _______________________________________________
>> Users mailing list
>> Users at openlayers.org
>> http://openlayers.org/mailman/listinfo/users
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at openlayers.org
>> http://openlayers.org/mailman/listinfo/users
>>
>>
>>
>> --
>> Eric Lemoine
>>
>> Camptocamp France SAS
>> Savoie Technolac, BP 352
>> 73377 Le Bourget du Lac, Cedex
>>
>> Tel : 00 33 4 79 44 44 96
>> Mail : eric.lemoine at camptocamp.com
>> http://www.camptocamp.com
>>
>>
>>
>>
>
> -- 
> Eric Lemoine
>
> Camptocamp France SAS
> Savoie Technolac, BP 352
> 73377 Le Bourget du Lac, Cedex
>
> Tel : 00 33 4 79 44 44 96
> Mail : eric.lemoine at camptocamp.com
> http://www.camptocamp.com
>




More information about the Users mailing list