【发布时间】:2011-04-03 15:15:08
【问题描述】:
我目前正在将匿名函数应用于悬停事件,它在内部调用全局函数:
GridInterface.HexGrid.TileGlobal = {
hoverIn: function(obj) {
var self = obj;
self.tile.attr({ fill: '#c7c7c7', stroke : '#000' });
self.tile.toFront();
self.label.toFront();
self.label.attr({ fill : '#000' });
},
hoverOut: function(obj) {
var self = obj;
self.tile.attr({ fill : '#d0d1ff', stroke : '#aaa' });
self.label.attr({ fill: '#999' });
}
}
然后我只需调用:
.hover(function() {
GridInterface.HexGrid.TileGlobal.hoverIn(self);
}, function() {
GridInterface.HexGrid.TileGlobal.hoverOut(self);
}
)
在对象上。但是,当我将其切换为取消悬停时,该事件不会被删除。我认为这是因为它是一个不同的匿名函数。关于如何解决的任何想法?
【问题讨论】:
-
另见stackoverflow.com/questions/6315456/…,它描述了相同的问题,包括悬停,并通过一个有效的 jsfiddle 示例给出了答案
标签: raphael