我正在开发一款游戏,其中JSON数据被转换为一组绘制在主地图顶部的类。每个图标都是一个20x20像素的小盒子。然后将光标移到每个框上是为了更改另一个div的html以传递信息"隐藏"在每个班级的价值内。
我的代码是这样的:
$('.City_Palace').mousemove(function(e) {
e.stopPropagation();
var x = Math.floor((e.pageX - this.offsetLeft + $("#scrollWindow").scrollLeft()) / tileSize);
var y = Math.floor((e.pageY - this.offsetTop + $("#scrollWindow").scrollTop())/tileSize);
var text = $('#WorldMapMessage').html();
alert(e.target.className);
$('#WorldMapMessage').html(x +', '+ y + " " + $(this).val());
// alert($(this).val());
});
此代码当前显示一个警告框,其中包含导致该事件的类名。但是,我需要知道的是.City_Palace类的哪个精确实例触发了事件,因此我可以显示相应的文本。如果我使用id而不是类,这将是微不足道的,但为此我需要使用类并知道哪一个正在调用该事件。
感谢您的帮助!
答案 0 :(得分:1)
你似乎已经这样做了。
在传递给.mousemove()
的函数内部,您可以访问this
,它指的是正在悬停的元素的特定实例。您可以使用它从该元素的特定实例获取您可能需要的任何其他内容。例如:
$('.City_Palace').mousemove(function(e) {
// $(this) is the specific instance of .City_Palace that's being hovered on.
alert($(this).attr("class")); // Alert the class name.
});