Events 带有绑定内联元素的knockout.js鼠标悬停闪烁

Events 带有绑定内联元素的knockout.js鼠标悬停闪烁,events,knockout.js,knockout-2.0,Events,Knockout.js,Knockout 2.0,使用knockout.js,我在一个包含的文件上有mouseover和mouseout事件。处理程序切换布尔观察值。在中有一个,其可见性绑定到那些布尔值。i、 e.滚动显示。的内容绑定到模型中的可见项 我发现,如果的绑定内容包含内联元素(例如),则在中滚动文本会导致闪烁。对于任何内联元素,似乎都会发生同样的情况。如果的内容未绑定,则不会发生问题 通过使用JQuery的mouseenter和mouseleave事件,我找到了应用程序的解决方法 所有3例均在本例中得到证实 这是我的预期行为,还是我的

使用knockout.js,我在一个包含
的文件上有
mouseover
mouseout
事件。处理程序切换布尔观察值。在
中有一个
,其可见性绑定到那些布尔值。i、 e.滚动
显示
的内容绑定到模型中的可见项

我发现,如果
的绑定内容包含内联元素(例如
),则在
中滚动文本会导致
闪烁。对于任何内联元素,似乎都会发生同样的情况。如果
的内容未绑定,则不会发生问题

通过使用JQuery的
mouseenter
mouseleave
事件,我找到了应用程序的解决方法

所有3例均在本例中得到证实

这是我的预期行为,还是我的错误或疏忽?是否存在不依赖于JQuery事件的变通方法


(在操作系统X 10.7.4中的Chrome 21.0、Safari 6.0和FF 10.0.2以及Windows 7中的Chrome和IE中验证了问题)

这只是
mouseleave
mouseout
之间的区别,是预期的行为。本文对此进行了概述:

如果我要这样做,我会用css。除非您需要真正了解一些东西或基于鼠标悬停执行高级动作/操作,否则您可以非常轻松地控制基本可见性(演示中不需要敲除):

HTML:


mouseover/mouseout事件与嵌套元素存在问题。再加上元素的可见性受此影响,会导致闪烁。只是不要用它。谢谢你指出这篇文章@Jeff:非常有用。我确信我使用mouseover和mouseout的立场是站不住脚的!尽管如此,我仍然认为ko可能存在一个与注意力有关的问题。请注意,如果未绑定
的内容,则问题不会出现:即,在这种情况下,绑定子元素肯定存在一些问题,我的部分问题是关于试图弄清问题的根源(我知道这里有几个问题合并在一起)谢谢你把我从ko的顶空中赶出来,提醒我CSS可能更优雅。我同意这个建议,因为它也有一个优点,即在其他地方,这种相互作用没有重复的结合性降低。
<div class="hoverbox">
    <p>Mouse over here...</p>
    <p class="extra">Then roll over <em>this red text</em></p>
    <p class="extra">It doesn't flicker!</p>
</div>
div.hoverbox p.extra {
    display: none;
}

div.hoverbox:hover p.extra {
    display: block;
}