设置jquery mouseovers以在javascript循环中访问数组键?

时间:2013-01-14 13:01:28

标签: javascript jquery google-maps

在我的循环中使用x正确分配ID,但是当我尝试使用x分配数组函数时,它会抛出错误'此方法未定义'。我只是想知道如何正确构建这种类型的动态mousover?任何帮助都会很棒!非常感谢,乔

for (x = 0; x < mapEastData.length; x++) {
    $('#marker' + x).on({
        mouseenter: function () {
            mapEastMarkers[x].setVisible(true);
        },
        mouseleave: function () {
            mapEastMarkers[x].setVisible(false);
        }
    })
}

1 个答案:

答案 0 :(得分:2)

我会选择使用类而不是id来触发你的悬停。

所以请使用一个班级,说marker-class作为你的悬停选择器。

然后在mouseenter / mouseleave函数中,您应该能够使用以下内容访问该确切元素的id: $(this).attr('id').replace("marker" , "")

替换然后清除ID,以便您最终得到ID号。

我希望这对你有意义。我认为你当前代码的问题是mouseenter / leave函数不知道var X是什么。如果您想坚持使用当前的方法,可能需要将x参数传递给这些函数。