设置jquery mouseover在javascript循环中访问数组键

Setting jquery mouseovers to access array keys in a javascript loop?

本文关键字:访问 数组 循环 javascript jquery mouseover 设置      更新时间:2023-09-26

在我的循环中,id被正确地分配给x,但是当我尝试用x分配数组函数时,它会抛出错误'此方法未定义'。我只是想知道如何正确地构建这种类型的动态鼠标移动?任何帮助将是惊人的!非常感谢,Joe

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

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

使用一个类,比如marker-class作为悬停选择器。

然后在mouseenter/mouseleave函数中,你应该能够使用如下方式访问该元素的id:$(this).attr('id').replace("marker" , "")

替换然后清除ID,因此您最终获得ID号。

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