簡體   English   中英

當我在javascript中刪除鼠標當前位於上方的元素時,會發生onMouseOut事件嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM