wed*_*ava 5 coffeescript backbone.js backbone-events
events:
'click textarea': 'composeComment'
'click .submit': 'submit'
'blur textarea': 'textareaBlur'
'resize article': 'repositionBoards'
repositionBoards: ->
#this is my own function, i just need it to be called everytime an article's size changes
board.align()
Run Code Online (Sandbox Code Playgroud)
如何repositionBoards在调整大小事件时调用我的方法?
该resize活动将发送至window:
的
resize事件被发送到window元件时的浏览器窗口的尺寸改变
但是Backbone视图的事件与视图的el使用绑定在一起delegate.视图el不会得到一个resize事件,因此放入'resize articule': 'repositionBoards'你的视图events将不会有任何好处.
如果您需要resize在视图中获取事件,则必须将其绑定到window自己:
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()
Run Code Online (Sandbox Code Playgroud)
另请注意添加一个,remove以便您可以取消绑定您的resize处理程序.当然,您将要使用view.remove()删除视图,或者如果该视图是您的整个应用程序,则不要担心.
| 归档时间: |
|
| 查看次数: |
6716 次 |
| 最近记录: |