谁能告诉我为什么在下面的PlayerView代码中的“点击”事件未被正确绑定/解雇?我觉得我错过了一些非常明显的东西,但经过几个小时尝试许多不同的解决方案之后,我感到不知所措。未绑定骨干事件
这是它是如何在路由器被实例化:
App.playerView = new App.Views.PlayerView
el: $("#player")
collection: App.tracks
,这里是(它的相关的CoffeeScript中有jPlayer插件代码的情况下)的实际视图代码:
App.Views.PlayerView = Backbone.View.extend
events:
"click .jp-next": "next"
"click .jp-back": "back"
initialize: ->
_.bindAll @, 'render'
@template = _.template $('#player-template').html()
@collection.bind 'reset', @render
@render()
play: (track) ->
...
next: ->
...
back: ->
...
render: ->
$(@el).html @template {}
@player = $("#jplayer").jPlayer
"swfPath": "/"
ready: =>
@next()
ended: =>
@next()
@
#玩家是在DOM中,我看过模板(可以张贴,如果有帮助)的问题,但没有发现任何东西。我也认为jPlayer可能造成了麻烦,但是在源代码中找不到任何证据。然而,由于它似乎在Backbone中起作用,jPlayer是可能的罪魁祸首。 – joeellis 2012-02-23 07:21:21