KnockoutJS Hover on UL不会触发,可以使用CSS:hover?

时间:2017-09-04 02:58:52

标签: javascript html knockout.js

所以我有一个我正在研究的地理藏宝网站的组织系统,由于某种原因,我不能在我的生活中得到一个onmouseover来触发这个UL。

<ul data-bind="foreach: markers, event { onmouseover: highlightLocation }" 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>

如果我做一个简单的CSS:hover pseudo,UL样式会改变,但如果我尝试通过KnockoutJS使用它,我就无法解决任何问题。作为删除其他代码的参考,这是我的viewModel的样子:

var viewModel = {
   //other code inbetween, linted

   highlightLocation : function() {
      console.log("hovering!");
   },
};

ko.applyBindings(viewModel);

在过去的几个小时里,我一直在盯着这个,我觉得我正在唠叨一些简单的东西,我正盯着我,我正在失踪。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

不熟悉淘汰赛,但注意到了一些事情,并让它发挥作用。

您在event之后缺少冒号,而且该活动实际上是mouseover,而不是onmouseover

&#13;
&#13;
var viewModel = {
  title: "title",
  lat: 5,
  lng: 5,
  highlightLocation: function() {
    console.log("hovering!");
  },
};

ko.applyBindings(viewModel);
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<ul data-bind="event: { mouseover: highlightLocation }" 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>
&#13;
&#13;
&#13;

(fiddle)