用普通的JavaScript或jQuery是否可以检测到元素底边上的鼠标悬停,即,当鼠标位于元素底边上但不包含在元素自身上吗?
现在看来,这是可能的,因为中,当鼠标移动到段落元素的底边距编辑器可以显示一个链接(一个“+”号),而不是当鼠标移动到段落文本。我不知道他们如何实现这一目标。这是在Medium中的工作方式:http : //d.pr/i/njS+
编辑:中等不要使用嵌套的元素,它只是具有其底边距的普通元素。看到这里:http : //d.pr/i/X7Gb+
由于特定的原因,我不能使用嵌套元素,而是想像Medium一样,仅使用普通元素及其边距底部。
您不能,边距不是元素的一部分。但是您可以使用2个嵌套的DIV。然后,检测鼠标是否在外部DIV上方,而不是在内部DIV上方。我确定这是中型编辑器的工作方式(尽管我无法检查)。
例如使用jQuery检查:
$('#outer').is(":hover") && !$('#inner').is(":hover")
更新:在Medium的示例图像中,外部DIV将是#editor_4
,除了内部DIV,还有其他元素,但是原理是(或可以是)相同。
对于很多行,在鼠标悬停事件中为每行设置/清除布尔值标志可能比每次选择并测试每个元素更有效。
Update2:我创建了一个jsFiddle,它使用单个布尔标志来实现此目的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句