добавление класса к элементу, на котором находится мышь - PullRequest
1 голос
/ 15 июня 2011

Мне нужна функция, которая добавит класс к элементу, на котором сейчас находится мышь.это должно измениться, когда мышь двигается, каждый раз, когда элемент должен иметь дополнительный класс.

Я знаю, как получить x и y элемента, используя это

var mouseX = 0;
var mouseY = 0;
$().mousemove(function (e) {
    mouseX = e.pageX;
    mouseY = e.pageY;
});

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

Может ли кто-нибудь здесь помочь мне с этим?

Ответы [ 5 ]

1 голос
/ 30 августа 2011

Это то, что я искал:

$('*').hover(
    function (event) {
        var elem = document.elementFromPoint(event.clientX, event.clientY);
        $(elem).addClass('khoverElem');
    },
    function (event) {
        $('.khoverElem').removeClass('khoverElem');

    }
);
1 голос
/ 15 июня 2011

Чтобы узнать элемент, вызвавший событие, вы можете использовать свойство «target» события, а затем получить его позицию, используя offset ()

$('*').mousemove(function (e) {
    var target = e.target //this is the element that triggered the evnt
    //do what you want with target: to get it's position:
     var position = $(target).offset()

});

РЕДАКТИРОВАТЬ используйте '*', чтобы выбрать все элементы или прикрепить его к документу $ (документ)

P.S. будьте готовы обрабатывать МНОГО событий, я не знаю, как это может повлиять на производительность.

1 голос
/ 15 июня 2011

вы можете использовать -

  1. при наведении курсора

, даже если вы можете использовать этот код также - запрос разделенhover следующим образом -

$(".hoverme").live("mouseover mouseout", function(event) {
  if ( event.type == "mouseover" ) {
    // do something on mouseover
  } else {
    // do something on mouseout
  }
});
1 голос
/ 15 июня 2011
$('*').hover(function(){
    $(this).addClass('special'); // mouse over
},
function(){
    $(this).removeClass('special'); // mouse out
});
1 голос
/ 15 июня 2011

так что любой элемент, который наводит мышь, получит этот класс?

$('*').hover(function(){ $(this).addClass('theClass'); });
...