2012-06-28 17 views

Odpowiedz

8

resize event jest wysyłany do window:

Impreza resize jest wysyłany do elementu window gdy rozmiar okna przeglądarki zmienia

Ale wydarzenia rzutem kręgosłup są zobowiązane do widoku na el przy użyciu delegate. Widok el nie dostanie zdarzenia resize, więc umieszczenie 'resize articule': 'repositionBoards' w Twoim widoku events nie przyniesie żadnego pożytku.

Jeśli trzeba uzyskać zdarzenia resize w widoku, musisz powiązać go z window siebie:

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() 

pamiętać także dodanie remove dzięki czemu można rozpiąć swój obsługi resize. Będziesz oczywiście chciał użyć view.remove(), aby usunąć swój widok, lub po prostu nie martw się, jeśli ten widok jest Twoją całą aplikacją.

+0

Dziękuję za dokładną odpowiedź. Moim jedynym zmartwieniem jest to, że rozmiary moich artykułów ulegają zmianie po wprowadzeniu tekstu. Po zwiększeniu rozmiaru chcę wywołać tablice repozycji. Ale ponieważ zmiana rozmiaru jest wysyłana do okna, nie robi mi to nic dobrego. Czy wiesz, czy są jakieś zdarzenia, które można powiązać z zmianą rozmiaru artykułu lub div? Dokładnie wtedy, gdy rozszerza się, gdy wzrasta wysokość lub szerokość. Jeszcze raz dziękuję. –

+0

@ user1489926: Ale nie ma zdarzenia zmiany rozmiaru na nic innego niż okno, AFAIK musisz zrobić to na własnej skórze: http://stackoverflow.com/q/172821/479863 –

Powiązane problemy