鼠标悬停在一个 span 元素上多次触发
mouseover fires multiple times over one span element
这里有一个简单的jsFiddle:
- http://jsfiddle.net/cEDj6/
我有一个span
元素,我mouseover
绑定到。当我在不同的文本行上水平移动鼠标时,mouseover
只发生一次。但是,当我在同一 span 元素内的文本行之间移动时,mouseover
会发生多次。
- 这是意料之中的吗?
- 是否有一种标准方法来防止这种情况(不添加逻辑来考虑上次访问的元素)?
(28.0.1500.71-0ubuntu1.13.04.1)。
这
似乎源于具有多行文本的内联<span>
。实际上,就鼠标而言,每行之间的空间不包含在元素中。
这可以通过在元素上添加背景颜色来看到。将其更改为使用 display:block
的 css 中的 block elemnt 可以缓解问题,或者通过使用 span 以外的其他本机块元素
后台演示
如果你把它变成一个div而不是一个范围,它会按预期工作
这是
span
的奇怪用法。由于语义元素是<p>
标签,请使用它。这也将纠正您的问题。
有趣的是,这是因为跨度是一个内联元素并且它是包装的。由于跨度是内联项,并且它是换行的,因此您将获得单独的行,并且行之间有空格。我以前从未注意到这一点,但是,因为你有一个鼠标退出事件,它使它更加明显。要演示这一点,请查看您的小提琴上的此更新。
小提琴:http://jsfiddle.net/LSRvn/
The reason a DIV doesn't do this is because the DIV is a block element containing the items.
相关文章:
- 使用jquery将单个换行符替换为span元素
- 将换行符写入<span>元素
- 用于检索span元素内容的JavaScript
- 获取单选按钮元素的span子项
- 如何使动态树标题中的span元素可点击
- 如何在使用 fancybox 时从这个 span 元素制作一个 javascript 变量
- Javascript正则表达式:从头到尾将span元素与某个类进行匹配
- 找到最近的span元素并更改CSS类
- 如何为span元素添加/删除类onclick
- 如何使用 JQuery 检索具有特定类的 span 元素中的文本,该元素位于单击的对象内
- 鼠标悬停在一个 span 元素上多次触发
- 在 for 循环内分组并根据样式属性修改 span 元素
- 如何使用jQuery获取后代span元素
- 如何根据用户输入 HTML 更新多个 SPAN 元素
- 如何在单词周围添加 span 元素
- 从上一个 span 元素中获取样式
- 当我单击元素数学/物理/化学时,如何使用jQuery获取SPAN ID
- 检查 span 元素是否包含“文本”,并且是父元素的最后一个子元素
- 尝试将 span 元素的值输入到数据库中
- 如何获取与元素SPAN Style With JavaScript相关的所有文本