jQuery Hover事件不会在UL上被解雇?

时间:2017-09-04 20:56:15

标签: javascript jquery html knockout.js

我查看过类似标题的过多问题,但在我的生活中,我不能弄清楚发生了什么。我有一个使用KnockoutJS + jQuery的系统,它将填充一个列表并将一个类添加到一个悬停列表中,该列表将在另一个函数的地图上突出显示它。

这是我的HTML:

<ul data-bind="foreach: markers" class="locationListMain">
    <ul class="locationList">
        <h3 class="resultTITLE">
          <span data-bind="text: title"></span>
        </h3>
        <p class="resultLATLONG">
          LAT
          <span data-bind="text: lat"></span>
          , LONG 
          <span data-bind="text: lng"></span>
        </p>
    </ul>
</ul>

足够简单。现在我试图通过jQuery在.locationList上调用悬停事件:

$('.locationList').hover(function(){
  console.log('hovering');
  $(this).addClass('active');
}, function() {
  console.log('not hovering!');
  $(this).addClass('active');
});

但我无法解决任何问题。奇怪的是,如果我删除.locationList元素,并将该类添加到顶级<ul>,它的工作没有问题。我想知道它是否是一个CSS问题,但我也无法解决这个问题。已经把它移到了顶级的z索引,没有任何乐趣。思考?非常感谢任何帮助或见解。谢谢!

1 个答案:

答案 0 :(得分:0)

感谢Terry的评论,明白了。悬停事件侦听器在dom中可用之前尝试绑定到该元素。在

下移动悬停功能
$(document).ready(function(){})

做了这个伎俩。