Pregunta

Tengo esta función

$('*').hover(

    function (e) {
        mouseX = e.pageX;
        mouseY = e.pageY;
        var elem = document.elementFromPoint(mouseX, mouseY);
        $(elem).addClass('hoverElem');

    },
    function (e) {
        mouseX = e.pageX;
        mouseY = e.pageY;
        var elem = document.elementFromPoint(mouseX, mouseY);
        $(elem).removeClass('hoverElem');
    }
);

Esto funciona bien con la primera función, pero la segunda función no hace ninguna idea, ¿cómo puedo solucionarla?

¿Fue útil?

Solución

Prueba esto en su lugar:

$('*').hover(
    function (e) {
        // Remove class from previous element
        $('.hoverElem').removeClass('hoverElem');

        // Add class to new element
        mouseX = e.pageX;
        mouseY = e.pageY;
        var elem = document.elementFromPoint(mouseX, mouseY);
        $(elem).addClass('hoverElem');
    }
);

o esto:

$('*').hover(
    function (e) {
        // Add class to new element
        mouseX = e.pageX;
        mouseY = e.pageY;
        var elem = document.elementFromPoint(mouseX, mouseY);
        $(elem).addClass('hoverElem');
    }, function (e) {
        // Remove class from previous element
        $('.hoverElem').removeClass('hoverElem');
    }
);

No estoy exactamente seguro de lo que estás tratando de hacer, por lo que es un poco difícil de adivinar.

Otros consejos

Aquí está la solución:

$('*').hover(
function (e) {
    $(this).addClass('hoverElem');
},
function (e) {
    $(this).removeClass('hoverElem');
}
);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top