1

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

我知道如何使用它来获取元素的 x 和 y

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

但是然后我如何获得孔元素以添加类?

这里有人可以帮我吗?

4

5 回答 5

1

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

$('*').hover(function(){ $(this).addClass('theClass'); });
于 2011-06-15T11:12:15.827 回答
1

您可以使用-

  1. 鼠标移到

即使您也可以使用此代码-jquery 已经hover以休闲方式 分裂-

$(".hoverme").live("mouseover mouseout", function(event) {
  if ( event.type == "mouseover" ) {
    // do something on mouseover
  } else {
    // do something on mouseout
  }
});
于 2011-06-15T11:12:26.093 回答
1
$('*').hover(function(){
    $(this).addClass('special'); // mouse over
},
function(){
    $(this).removeClass('special'); // mouse out
});
于 2011-06-15T11:18:59.950 回答
1

要知道触发事件的元素,您可以使用事件的“目标”属性,然后使用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()

});

编辑使用 '*' 选择所有元素或将其附加到文档 $(document)

PS准备好处理很多事件,我不知道这会如何影响性能。

于 2011-06-15T11:19:53.407 回答
1

这就是我一直在寻找的:

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

    }
);
于 2011-08-30T10:24:19.073 回答