我需要一个将类添加到鼠标现在所在的元素的函数。当鼠标移动时,这必须改变,每个元素都应该有额外的类。
我知道如何使用它来获取元素的 x 和 y
var mouseX = 0;
var mouseY = 0;
$().mousemove(function (e) {
mouseX = e.pageX;
mouseY = e.pageY;
});
但是然后我如何获得孔元素以添加类?
这里有人可以帮我吗?
所以鼠标悬停的任何元素都会获得该类?
$('*').hover(function(){ $(this).addClass('theClass'); });
您可以使用-
即使您也可以使用此代码-jquery 已经hover
以休闲方式 分裂-
$(".hoverme").live("mouseover mouseout", function(event) {
if ( event.type == "mouseover" ) {
// do something on mouseover
} else {
// do something on mouseout
}
});
$('*').hover(function(){
$(this).addClass('special'); // mouse over
},
function(){
$(this).removeClass('special'); // mouse out
});
要知道触发事件的元素,您可以使用事件的“目标”属性,然后使用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准备好处理很多事件,我不知道这会如何影响性能。
这就是我一直在寻找的:
$('*').hover(
function (event) {
var elem = document.elementFromPoint(event.clientX, event.clientY);
$(elem).addClass('khoverElem');
},
function (event) {
$('.khoverElem').removeClass('khoverElem');
}
);