查找当前和上一个悬停节点
Find current and previous node hovered
我有一个html列表,其中包含带有链接的子列表。我想找到当前被悬停的元素,以及之前被悬停的元素。(不是当前悬停项的前一个兄弟项,只是悬停到当前项的项)。
谢谢
您需要在鼠标离开元素时存储该元素,并在鼠标输入时检查它是什么。例如:
var previous;
$('div').on('mouseleave',function(event){
previous = $(this);
});
$('div').on("mouseenter", function(event){
console.log($(this).text(), previous.text());
})
jsFiddle
将其存储在全局变量中:
var hoveredElement; // We'll store our "previous" data here
// Add a hover listener to the UL, then delegate to the anchors
document.querySelector('ul').addEventListener('mouseover', function(e) {
if (e.target && e.target.matches('a')) {
// If we have a previous hovered element, add it
if (hoveredElement) {
document.querySelector('.previous').textContent = hoveredElement
}
// Set the current hovered and the "new" last hovered elements to the currently hovered element
document.querySelector('.current').textContent = hoveredElement = e.target.textContent
}
});
<ul>
<li>
<a href="#">Item 1</a>
</li>
<li>
<a href="#">Item 2</a>
</li>
<li>
<a href="#">Item 3</a>
</li>
</ul>
<hr />
<p>Current: <span class="current"></span></p>
<p>Previous: <span class="previous"></span></p>
纯JavaScript
var previouslyHovered
var currentlyHovered
var previousBox = document.querySelector('.previouslyHovered')
var currentBox = document.querySelector('.currentlyHovered')
var items = document.querySelectorAll('li')
items.forEach(item => item.addEventListener('mouseover', function() {
previouslyHovered = currentlyHovered
previousBox.textContent = previouslyHovered
?previouslyHovered.textContent
:previousBox.textContent
currentlyHovered = this
currentBox.textContent = currentlyHovered.textContent
}))
<ul>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
</ul>
<div>previous
<span class="previouslyHovered">n/a</span>
</div>
<div>current
<span class="currentlyHovered">n/a</span>
</div>
相关文章:
- 节点导出返回一个空对象
- 可以前端maven插件使用节点,npm已经安装
- 在jstree中,如何将指定的节点集中到大型树上
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何从模块链中调用函数.导出到节点中
- 当鼠标悬停在文本中的单词上时显示警报
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 如何在 D3 中创建工具提示,以便在图形中节点上的鼠标悬停上获取图像
- 如何在 Arbor js 中将鼠标悬停在节点上时显示节点的标签
- 如何通过按钮单击和鼠标悬停/鼠标退出显示和隐藏节点文本?D3/JS.
- jquery悬停未应用于子节点
- 鼠标悬停UL子节点不正确
- ExtJS TreeGrid's节点鼠标悬停事件
- 查找当前和上一个悬停节点
- 带子节点的鼠标悬停
- 在父节点悬停时更改img src
- 如何显示文本时,鼠标悬停在一个节点在D3强制布局
- 自定义 force.drag 会在悬停时丢失粘性节点
- 如何停用sigma-js节点悬停