2
をドラッグしながら、MouseEnterイベントを検出します。私はドラッグのようなものを作り、均一な正方形の画像を使用して、パズルのウェブサイトをドロップしようとしている、と私は彼らの<code><img></code>要素によって個々の画像をドラッグするドラッグコードを書いたhtml要素
しかし、が付いた別の要素に<img>
要素をドラッグしているうちに、マウスセンターイベントが発生しないことに気付きました。イメージをドラッグせずにマウスの上にマウスを移動すると、イベントは正常に発生します。
誰もがこの問題を解決する方法上の任意のアイデアを持っていますか?私の唯一の推測気圧は<img>
要素がマウスを見てからリスナーをブロックしていることです。
var dragImg = document.querySelector(".images img");
dragImg.addEventListener("mousedown", function() {
console.log("mousedown detected " + dragImg.clientHeight);
dragImg.setAttribute("id", "drag");
dragging = true;
});
dragImg.addEventListener("mousemove", function (event) {
if (dragging) {
dragImg.style.top = (event.clientY - dragImg.clientHeight/2) + "px";
dragImg.style.left = (event.clientX - dragImg.clientWidth/2) + "px";
}
});
dragImg.addEventListener("mouseup", function() {
console.log("mouseup detected");
dragging = false;
//reset position if not in clipboard
dragImg.removeAttribute("id");
dragImg.style.top = "";
dragImg.style.left = "";
});
//Clipboard behavior - This listener doesn't fire when dragging an img?
var clipboard = document.querySelector(".clipboard");
clipboard.addEventListener("mouseover", function() {
if (dragging) {
console.log("mouse entered clipboard!");
clipboard.style.backgroundColor = "red";
}
});
#drag {
position: absolute;
}
いくつかのものを見て、あなたが何をしたかを理解するために私に少しかかりましたが、これはとてもうまくいきました。ありがとうございました! – HsinWang5