0

我正在开发一个游戏,其中 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 类的哪个精确实例触发了事件,以便我可以显示适当的文本。如果我使用 ids 而不是类,这将是微不足道的,但为此我需要使用类并知道哪个在调用事件。

谢谢您的帮助!

4

1 回答 1

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.

});
于 2013-06-17T02:38:41.440 回答