El resize
event se envía a window
:
El evento resize
se envía al elemento window
cuando el tamaño de la ventana del navegador cambia
Pero los acontecimientos de una vista Backbone están obligados a la vista de el
usando delegate
. La vista el
no obtendrá un evento resize
por lo que poner 'resize articule': 'repositionBoards'
en el events
de su vista no servirá de nada.
Si usted necesita para obtener el evento resize
en su opinión, que tendrá que obligar a éste a window
mismo:
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()
También tenga en cuenta la adición de una remove
para que pueda desvincular el controlador resize
. Por supuesto, querrá usar view.remove()
para eliminar su vista o simplemente no se preocupe si esa vista es su aplicación completa.
Gracias por la respuesta completa. Mi única preocupación es que los tamaños de mis artículos cambien cuando se ingresa texto en ellos. Cuando el tamaño se expande, quiero llamar a tablas de reposicionamiento. Pero dado que el tamaño se envía a la ventana, esto no me sirve de nada. ¿Sabes si hay algún evento que pueda estar relacionado con el cambio de tamaño de un artículo o div? Justo cuando se expande como cuando aumenta la altura o el ancho. Gracias de nuevo. –
@ user1489926: Pero no hay evento de cambio de tamaño en otra cosa que no sea la ventana, AFAIK tienes que hacerlo de la manera difícil: http://stackoverflow.com/q/172821/479863 –