sunplum123
Sunny_Lover
采纳率100%
2016-06-24 03:29

JS中为一个元素绑定事件的方法中给其他的元素绑定事件!科学吗?

20
已采纳

类似此图

我想做一个关于地图显示的问题,鼠标移到左边菜单的点时候显示地图上的点,同时移到左边菜单的另外的点的时候隐藏刚刚显示的点,显示属于自己的点
代码:

    // li是左边菜单的点 poshytip就是显示地图上的点的内容
    var li = $("<li>").mouseover(function () {
        jQsite.poshytip("show");
        $(this).siblings().mouseover(function () {
            jQsite.poshytip("hide");
        });
    });

但是这样做感觉有弊端。每一次移到li上的时候都会给其他的li添加mouseover事件,有什么好的方法可以解决这个问题呢。
哦,还有一个重要的问题没说,就是我需要要鼠标移开li的时候不会隐藏地图上的点,但是移到别的li的时候就要隐藏

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • showbo GoCityPass新加坡曼谷通票 5年前

    直接给所有li绑定mouseover和mouseout事件就行了,干嘛在事件中又绑定事件,这样会累加事件,而且建议用mouseenter和mouseleave,要不mouseout移动到子元素也会触发

      $('左边菜单li选择器').mouseenter(function () { jQsite.poshytip("show"); }).mouseleave(function () { jQsite.poshytip("hide"); });
    
    点赞 2 评论 复制链接分享