Как я могу удалить класс из определенной позиции?

У меня есть эта функция

$('*').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');
    }
);

это нормально работает с первой функцией, но вторая функция ничего не делает, есть идеи, как я могу это исправить?

2 ответа

Решение

Попробуйте это вместо этого:

$('*').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');
    }
);

или это:

$('*').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');
    }
);

Я не совсем уверен, что вы пытаетесь сделать, так что это немного сложно догадаться.

Вот решение:

$('*').hover(
function (e) {
    $(this).addClass('hoverElem');
},
function (e) {
    $(this).removeClass('hoverElem');
}
);
Другие вопросы по тегам