[英]What event to use instead of onmouseout to run when mouse is not over the element?
[英]Does onMouseOut event occurs when I remove in javascript the element the mouse is currently over?
我有一張圖片。 我附加了onclick監聽器和onmouseout監聽器。 onclick監聽器執行parent.removeChild(this)操作。 圖像消失。 在我移動鼠標之前,什么也沒有發生。 然后觸發onmouseout處理程序。 可能嗎? 以及如何,我不以傳播為前提,因為父元素上的onmouseout沒有任何關聯。
處理程序:
function ballMouseoutHandler(e) {
event.stopPropagation();
this.src = ballSrc;
alert('mouse out!');
}
function ballMouseoverHandler() {
this.src = ballInvSrc;
}
function ballClickHandler() {
gameBalls.removeChild(this);
}
代碼添加圖片:
gameBalls = document.getElementById('balls-col');
var tmpBall = createBall();
gameBalls.appendChild(tmpBall);
tmpBall.addEventListener('click', ballClickHandler);
tmpBall.addEventListener('mouseover', ballMouseoverHandler);
tmpBall.addEventListener('mouseout', function(e) {ballMouseoutHandler(e);});
function createBall() {
var ball = new Image();
ball.src = ballSrc;
ball.classList.add('ball');
return ball;
}
它是較大代碼的一部分。 因此,到目前為止,我要做的是提取特定問題以分離較小的文件。 而且看起來好像還是觸發了mouse out事件。
好。 經過一些測試后,我可以說是-從鼠標指針下面移除DOM對象會觸發onmouseout事件。 如果您認為這是很合乎邏輯的,因為移動是相對的,最重要的是鼠標指針懸停在對象上方,現在已經伸出。 :)
所以我要做的是在刪除對象之前先刪除事件監聽器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.