私にはイメージがあります。 onclickリスナーとonmouseoutリスナーを添付しました。 onclickリスナーは、parent.removeChild(this)操作を行います。 画像が消えます。マウスを動かすまで何も起こりません。その後、onmouseoutハンドラを起動します。 それは可能ですか? どうやって、親要素のonmouseoutに何も付いていないので、伝播ではないと仮定します。onMouseOutイベントは、JavaScriptが現在マウスオーバーしている要素を削除すると発生しますか?
ハンドラ:
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;
}
それはより大きなコードの一部です。これまで私が行ってきたことは、小さなファイルを分割するために特定の問題を抽出したことです。まるでマウスアウトイベントが引き起こされたかのように見えます。
コードを追加して、これまで行ってきたことを – Abhijeet
実際にコードを言葉で説明するのではなく、実際に表示しないのはなぜですか?どのブラウザでそれが起こりますか? – epascarello
私はSafariでそれをテストしました – George