es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Como obtener la posición del ratón al abandonar el foco de un panel en ExtJS.

Cómo obtener la posición del mouse al salir del enfoque de un panel en extJS.

Estoy intentando obtener la posición del mouse al salir del evento focusleave. Aquí estoy utilizando el panel y, en función de la ubicación donde se activa el mouse, estoy realizando alguna operación.

focusleave : function(field, event, eOpts){
debugger;
event.getXY() // [NaN, NaN]
event.clientX // undefined

// alguna operación

}

Pero no estoy obteniendo clientX del evento.

¿Cuál sería la solución para esto?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Una posible solución para obtener la posición del mouse en el evento focusleave en ExtJS es agregar un escuchador para el evento mouseleave en el elemento el del panel. Este evento se desencadena cuando el mouse abandona el panel, ya sea al mover el mouse fuera del panel o al enfocar otro elemento.

    Para acceder a la posición del mouse, puedes utilizar el método getXY() del objeto Ext.EventObject pasado como segundo argumento al manejador del evento mouseleave. Aquí tienes un ejemplo de código:

    Ext.create('Ext.panel.Panel', {
        title: 'Mi Panel',
        listeners: {
            focusleave: function(field, event, eOpts) {
                // Hacer algo en el focusleave
            },
            afterrender: function(panel) {
                panel.el.on('mouseleave', function(event, htmlElement, options) {
                    var mouseX = event.getXY()[0];
                    var mouseY = event.getXY()[1];
                    // Hacer algo con mouseX y mouseY
                });
            }
        }
    });
    

    En este ejemplo, agregamos un escuchador para el evento mouseleave en el elemento el del panel en el evento afterrender. Dentro del manejador del evento mouseleave, utilizamos el método getXY() del objeto event para obtener las coordenadas x e y de la posición del mouse en relación con el elemento el del panel.

    Ten en cuenta que el método getXY() devuelve un arreglo con dos valores, representando las coordenadas x e y, respectivamente. En el ejemplo anterior, almacenamos las coordenadas x e y en variables separadas para su posterior procesamiento.

Comments are closed.