将类添加到鼠标所在的元素

时间:2011-06-15 11:08:58

标签: jquery addclass mousemove

我需要一个将类添加到鼠标所在元素的函数。当鼠标移动时,这必须改变,每一个元素应该有额外的类。

我知道如何使用此

获取元素的x和y
var mouseX = 0;
var mouseY = 0;
$().mousemove(function (e) {
    mouseX = e.pageX;
    mouseY = e.pageY;
});

但是我如何获得孔元素才能添加类?

这里有人可以帮我这个吗?

5 个答案:

答案 0 :(得分:1)

所以鼠标悬停的任何元素都会获得该类?

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

答案 1 :(得分:1)

你可以使用 -

  1. mouseover
  2. 即使你也可以使用这个代码 - jquery已经以一种方式分割hover -

    $(".hoverme").live("mouseover mouseout", function(event) {
      if ( event.type == "mouseover" ) {
        // do something on mouseover
      } else {
        // do something on mouseout
      }
    });
    

答案 2 :(得分:1)

$('*').hover(function(){
    $(this).addClass('special'); // mouse over
},
function(){
    $(this).removeClass('special'); // mouse out
});

答案 3 :(得分:1)

要知道触发事件的元素,您可以使用事件的“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。准备好处理很多事件,我不知道这会对性能产生怎样的影响。

答案 4 :(得分:1)

这就是我想要的:

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

    }
);