運行並考慮這個片段。Mouseenter當移動和移除元素
如果我們將最上面一行(「一」)懸停,它會像預期的那樣變成紅色。如果我們點擊它,它將根據計劃被刪除。
但是,由於光標現在位於第二行(「2」),因此我期望「mousenter」觸發並使該行也變爲紅色。但是,如果我們保持鼠標仍然在點擊鼠標時似乎沒有觸發。
有沒有辦法迫使它開火?
function hideMe (elmnt) {
elmnt.remove()
// elmnt.style.display = "none" (is an alternative solution
// that works, but is not what I need)
}
function iveBeenHovered (elmnt) {
\t elmnt.style.backgroundColor = "red"
}
div{
border: 1px solid black;
}
<div onclick="hideMe(this)" onmouseenter="iveBeenHovered(this)">One</div>
<div onclick="hideMe(this)" onmouseenter="iveBeenHovered(this)">Two</div>
<div onclick="hideMe(this)" onmouseenter="iveBeenHovered(this)">Three</div>
在Firefox的Mac第二行立即成爲點擊第一個,而不是移動 – Johannes
在Chrome瀏覽器窗口後,紅色的正常工作太 – Arkadi
好有趣。我是一個mac/chrome。請注意,只要移動鼠標至少一個像素,mouseenter就會觸發。 – swelet