Tôi dường như không thể tìm thấy câu trả lời cho điều này và tôi mất một thời gian để tái tạo nó như là một đứng một mình fiddle/bút nhưng cuối cùng tôi đã có.Sự kiện D3 bắn trên một yếu tố svg ẩn
tôi đang làm việc trên ứng dụng Vaadin trong đó sử dụng D3 để vẽ và thao tác đồ họa svg. Tại thời điểm có svg trên màn hình có visibility:hidden
.
Công trình này hoàn toàn tìm thấy trong tất cả các trình duyệt.
Những yếu tố tiềm ẩn có kích và các sự kiện mouseover, mà một lần nữa làm việc tìm thấy trong tất cả các trình duyệt Tuy nhiên trong firefox phiên bản 34 yếu tố ẩn vẫn cháy, sự kiện của họ (nhấp chuột phải và di chuột) khi họ vẫn đang ẩn.
Để giải thích rõ hơn: khi một nút được ẩn, sự kiện mouseover của nó không nên sa thải, khi nó có thể nhìn thấy nó nên. Đó là cách nó hoạt động trong tất cả các trình duyệt ngoại trừ firefox 34, 35 beta và 36 phiên bản dev. Nó hoạt động tốt trong firefox 31.
Tôi nghi ngờ đây là một lỗi trong D3, nhưng muốn có một ý kiến thứ hai hoặc một ai đó để chỉ ra lỗi của tôi. Cần lưu ý rằng thiết lập display:none
trên phần tử hoạt động trong firefox 34 trở lên, tuy nhiên tôi không cảm thấy rằng vấn đề nằm ở đó
Tôi đã tạo một biểu tượng jsbin, có hai biểu tượng màu cam, một biểu tượng có visibility:hidden
(bạn có thể cần phải vô hiệu hóa để xem nó) nếu bạn di chuột qua phần tử ẩn với chrome, không có gì xảy ra. nhưng với firefox 34 sự kiện cháy. Here's the jsBin
Bất cứ ý tưởng là tại sao nó sẽ bắn? Tôi đoán hoặc D3 vấn đề hoặc firefox lỗi, tuy nhiên tôi muốn để móng tay nó xuống hoặc sửa chữa mã của tôi về đóng góp cho một sửa chữa trong các lĩnh vực khác
Cảm ơn
Có lý do tại sao bạn đi với khả năng hiển thị: bị ẩn thay vì hiển thị: không có gì? – Elijah
Không phải là kiến thức của tôi, tôi đang ký hợp đồng với một dự án di sản lớn, đừng nghĩ rằng đó là bất kỳ sự suy nghĩ nào. – atmd