Tôi đang gặp sự cố với thao tác kéo và thả html5. Tôi không thấy một cách dễ dàng nào. Về cơ bản tôi có một số "hộp" với một số yếu tố html khác bên trong. Các hộp cha có thể kéo được và chúng có thể bị rơi vào nhau.html5: có cách nào để ngăn trẻ can thiệp vào sự kiện kéo
Tôi ràng buộc dragover
sự kiện trên cơ thể để xử lý thao tác kéo thả trên toàn bộ trang. Vấn đề là, khi bạn kéo qua các hộp - sự kiện đôi khi được kích hoạt trên các phần tử con và phụ huynh không nhận được sự kiện này chút nào.
Có cách nào dễ dàng để ngăn điều này xảy ra không?
Về cơ bản tôi muốn sự kiện kéo để kích hoạt ngay khi chuột ở trong vùng của hộp mục tiêu. Tôi biết một vài cách để giải quyết điều này, nhưng chúng thực sự xấu xí và tôi đã tự hỏi nếu có thể có một cái gì đó đơn giản.
Cám ơn suy nghĩ của bạn
phiên bản ngắn về những gì tôi đang làm trong mã:
document.addEventListener('dragenter', function(e) {
if (e.target.className == 'candrophere')
// cancel out "e" to allow drop
}, false);
Nhưng trong trường hợp của tôi phần tử con đang chiếm gần như toàn bộ hộp '.candrophere' nên sự kiện này được gần như không bao giờ bắn vào các mục tiêu chính xác (đặc biệt là khi tôi di chuyển chuột nhanh hơn)
Bạn nên đăng mã không thành công để mọi người có thể giúp bạn. – Nelson
Cập nhật với một số mã giả mà không có bất kỳ phiền nhiễu – Marius
Tôi đã có thể sửa lỗi này bằng cách sử dụng sự kiện kéo thay vì sự kiện kéo lê –