我有一个只包含矩形的集合。
鼠标悬停时,矩形应扩展,并添加一些链接;鼠标移出后,链接消失,矩形再次变小。
然而,似乎悬停功能是针对每个项目单独应用的,而不是整个集合,因为当你将鼠标悬停在链接上时,悬停关闭功能会触发并使链接消失。有时框会快速连续地接收到悬停和离开事件,从而出现问题。
有没有一种方法可以将悬停应用于一组东西,这样在集合中两个物品之间移动鼠标不会触发悬停关闭?
var hoverTrigger = this.paper.set();
var outline = this.paper.rect();
outline.attr({
...
hoverTrigger.push(outline)
this.sprite.push(hoverTrigger);
鼠标悬停时,矩形应扩展,并添加一些链接;鼠标移出后,链接消失,矩形再次变小。
hoverTrigger.hover(function () {
var link = this.paper.text();
hoverTrigger.push(link);
outline.animate({
...
}, function() {
link.remove();
outline.animate({
...
});
然而,似乎悬停功能是针对每个项目单独应用的,而不是整个集合,因为当你将鼠标悬停在链接上时,悬停关闭功能会触发并使链接消失。有时框会快速连续地接收到悬停和离开事件,从而出现问题。
有没有一种方法可以将悬停应用于一组东西,这样在集合中两个物品之间移动鼠标不会触发悬停关闭?
clientX
和clientY
来确定鼠标坐标。我已经更新了代码以反映所有浏览器。 - amustillvar $elem = $(this[0]).closest('div'), ePos = $elem.offset(); x -= ePos.left + parseInt($elem.css('paddingLeft')) + parseInt($elem.css('borderLeftWidth')); y -= ePos.top + parseInt($elem.css('paddingTop')) + parseInt($elem.css('borderTopWidth'));
进行补偿。(假设您的容器是一个div..) - Alex