2013-12-17 17 views
7

Tôi đang tìm một cách để phát hiện sự kiện mouseup ở cuối quá trình thay đổi kích thước cửa sổ (khi thực hiện bằng cách kéo). (AFAICT, sự kiện này không được nhặt bởi một handler resize trên $(window) hoặc trên $(document).)Làm thế nào để phát hiện mouseup ở cuối cửa sổ thay đổi kích thước?

PS: cho các mục đích của tôi nó là OK để xác định một "kéo thay đổi kích cỡ" như thay đổi kích thước diễn ra giữa một mousedown (trên một locus thay đổi kích thước phù hợp trên cửa sổ) và sự kiện mouseup tương ứng của nó, bỏ qua bất kỳ tạm dừng nào người dùng có thể thực hiện, trong khi vẫn giữ nút chuột, giữa hai điểm kết thúc đó.

+2

IE có một 'resizeEnd() 'sự kiện nhưng bạn sẽ cần một cái gì đó hơn chéo -trình duyệt. Cách thực hành tốt nhất hiện tại tôi tin là chờ trình duyệt "ngừng thay đổi kích thước", như trong "bạn đã di chuột xuống nhưng chưa thực hiện bất kỳ thứ gì với nó trong khoảng thời gian * x *". Khi thời gian đó hết hạn, bạn có thể tăng sự kiện. Xem ở đây để biết ví dụ: http://stackoverflow.com/questions/5489946/jquery-how-to-wait-for-the-end-or-resize-event-and-only-then-perform-an-ac –

+0

Bốn năm, và không ai có câu trả lời? Bất kỳ ai? Bất kỳ ai? Bueller? –

Trả lời

1
$ npm install resizeend 

hoặc thêm vào trang của bạn:

<script src="https://raw.githubusercontent.com/jeremenichelli/resizeend/master/dist/resizeend.min.js"></script> 

và sau đó chỉ cần sử dụng sự kiện:

window.addEventListener('resizeend', function() { 
    alert('You are not resizing the window anymore!'); 
}); 
Các vấn đề liên quan