Các resize
event được gửi đến window
:
Sự kiện resize
được gửi đến các yếu tố window
khi kích thước của cửa sổ trình duyệt thay đổi
Nhưng sự kiện một cái nhìn Backbone của được ràng buộc với quan điểm của el
sử dụng delegate
. Chế độ xem của el
sẽ không nhận được sự kiện resize
để đặt 'resize articule': 'repositionBoards'
trong chế độ xem events
của bạn sẽ không hoạt động tốt.
Nếu bạn cần phải nhận được sự kiện resize
theo quan điểm của bạn, bạn sẽ phải ràng buộc nó vào window
mình:
initialize: (options) ->
$(window).on('resize', this.repositionBoards)
remove: ->
$(window).off('resize', this.repositionBoards) # Clean up after yourself.
@$el.remove() # The default implementation does this.
@
repositionBoards: ->
# Use => if you need to worry about what `@` is
board.align()
Cũng lưu ý việc bổ sung một remove
để bạn có thể xử lý unbind resize
của bạn. Bạn sẽ, tất nhiên, muốn sử dụng view.remove()
để xóa chế độ xem của bạn hoặc chỉ không lo lắng về nó nếu chế độ xem đó là toàn bộ ứng dụng của bạn.
Nguồn
2012-06-28 23:32:56
Cảm ơn bạn đã trả lời kỹ lưỡng. Mối quan tâm duy nhất của tôi là kích thước bài viết của tôi thay đổi khi văn bản được nhập vào chúng. Khi kích thước mở rộng, tôi muốn gọi các bảng định vị lại. Nhưng kể từ khi thay đổi kích cỡ được gửi đến cửa sổ, điều này làm tôi không tốt. Bạn có biết liệu có bất kỳ sự kiện nào có thể liên quan đến việc thay đổi kích thước của bài viết hoặc div không? Chỉ khi nó mở rộng như khi chiều cao hoặc chiều rộng tăng lên. Cảm ơn bạn lần nữa. –
@ user1489926: Nhưng không có thay đổi kích thước sự kiện trên bất cứ điều gì khác ngoài cửa sổ, AFAIK bạn phải làm điều đó một cách khó khăn: http://stackoverflow.com/q/172821/479863 –