2013-03-05 28 views
6

Kiểm tra này fiddle out: http://jsfiddle.net/abitdodgy/7rFb6/1/Bất kỳ ý tưởng nào tại sao sự kiện mouseleave không đăng ký khi di chuyển con trỏ nhanh?

Khi bạn di chuyển con trỏ nhanh sự kiện mouseleave không đăng ký vào những thời điểm. Tại sao chuyện này đang xảy ra?

Khi bạn di chuột qua hình ảnh đã chọn, lớp .controls xuất hiện cho phép bạn xóa lựa chọn. Tuy nhiên, khi bạn đã thoát, lớp .controls sẽ biến mất. Điều này không phải lúc nào cũng xảy ra nếu bạn di chuyển con trỏ thật nhanh giữa các lớp.

Thử chọn hình ảnh và di chuyển con trỏ rất nhanh giữa chúng và bạn sẽ nhận thấy điều này đang diễn ra. Nếu hình ảnh được chọn, lớp .controls sẽ không hiển thị trừ khi bạn đang di chuột qua nó.

Bất kỳ ý tưởng nào?

Trả lời

3

Cố gắng liên kết sự kiện mouseleave với div trình bao bọc chứ không phải thành phần đơn lẻ vì nó không được di chuột qua kích hoạt .controlsshow().

this sample có hoạt động cho bạn không?

Tôi cũng đề nghị thêm z-index: 2; vào các phần tử .controls.

+0

Liên kết đó bị gỡ xuống ... – LinusGeffarth

1

I RAPIDLY là địa ngục di chuyển chuột laser của tôi trên tất cả trong số họ và họ INSTANTLY trả lời. Dường như vấn đề có liên quan đến những hạn chế của phần cứng của bạn hơn là một số vấn đề cụ thể với phần mềm tôi xin lỗi để nói.

+0

Bạn có chắc chắn không? Kiểm tra điều này: http://stackoverflow.com/questions/7331731/jquery-mouseleave-not-fired-on-container-when-moving-cursor-fast - Có vẻ như tôi không phải là người duy nhất, mặc dù điều này không không giải thích tại sao. Tôi đang sử dụng MacBook Pro Retina và nó đang diễn ra trên Chrome và Safari. – dee

+0

OK chỉ để chắc chắn rằng tôi đã thử nghiệm nó trong Firefox 19.0, Google Chrome 25.0.1364.152 và Safari 6.0.2 (8536.26.17) trên cả fiddle của bạn và của người khác và không thể tái tạo vấn đề. –

+0

Thật kỳ lạ. Tôi cũng có thể tái tạo lại vấn đề của người khác. Hmm ... OK. Cảm ơn. Tôi sẽ để phao này một lúc trước khi quyết định! Xem nếu có ai khác có thể có một số đầu vào. – dee

Các vấn đề liên quan