Javascript 未绑定主干事件
有人能告诉我为什么PlayerView代码中的“点击”事件没有被正确绑定/触发吗?我觉得我错过了一些非常明显的东西,但在尝试了几个小时不同的解决方案后,我不知所措 这就是它在路由器中的实例化方式:Javascript 未绑定主干事件,javascript,backbone.js,coffeescript,jplayer,backbone-events,Javascript,Backbone.js,Coffeescript,Jplayer,Backbone Events,有人能告诉我为什么PlayerView代码中的“点击”事件没有被正确绑定/触发吗?我觉得我错过了一些非常明显的东西,但在尝试了几个小时不同的解决方案后,我不知所措 这就是它在路由器中的实例化方式: App.playerView = new App.Views.PlayerView el: $("#player") collection: App.tracks 下面是实际的视图代码(如果相关,请使用带有jPlayer插件代码的Coffeescript): 在渲染中尝试@delegateE
App.playerView = new App.Views.PlayerView
el: $("#player")
collection: App.tracks
下面是实际的视图代码(如果相关,请使用带有jPlayer插件代码的Coffeescript):
在渲染中尝试@delegateEvents()在渲染中尝试@delegateEvents()解决了这个问题,它与jPlayer相关。jPlayer在事后以某种方式覆盖了事件,所以我只是在他们的脚本中删除了该功能以使其正常工作。多么痛苦,但感谢所有帮助过我的人 发现了这一点,这与jPlayer有关。jPlayer在事后以某种方式覆盖了事件,所以我只是在他们的脚本中删除了该功能以使其正常工作。多么痛苦,但感谢所有帮助过我的人 #player在DOM中,我已经查看了模板(如果有帮助的话可以发布),但是没有发现任何问题。我还认为也许是jPlayer造成了麻烦,但在源代码中也找不到这方面的证据。然而,由于它似乎在主干网中工作,jPlayer可能是罪魁祸首。#player在DOM中,我查看了模板(如果有帮助,可以发布),但没有发现任何问题。我还认为也许是jPlayer造成了麻烦,但在源代码中也找不到这方面的证据。然而,由于它似乎在主干网中工作,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()
@