Events 带有绑定内联元素的knockout.js鼠标悬停闪烁
使用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例均在本例中得到证实 这是我的预期行为,还是我的
的文件上有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;
}