gpt4 book ai didi

ember.js - 如何将处理程序绑定(bind)到 ember.js 中视频标签的结束事件

转载 作者:行者123 更新时间:2023-12-02 06:01:33 27 4
gpt4 key购买 nike

我在获取 ember View 以响应来自视频标签的“结束” View 时遇到问题 - 我什至在应用程序中设置了一个自定义并在 View 上创建了一个结束的方法,但没有骰子。我设法通过 View 的 didInsertElement 中的 $() 得到一些东西,但是 View 的标准“on”方法什么也没做——就像事件正在元素上发生,但没有进入 View 。但是通过 $ 设置意味着“this”不是绑定(bind)到 View 而是绑定(bind)到元素,这对我没有多大帮助

我的观点:

CommercialView: Em.View.extend
tagName: 'video'
templateName: "commercial"
attributeBindings: ['autoplay', 'width', 'height']
width: 320
height: 240
autoplay: true
ended: (event) ->
debugger
didInsertElement: () ->
#this.on('ended', this.ended)​ #doesn't work
this.$().on('ended', this.ended) #shifts this to the element

我的应用程序:
App = Em.Application.create
customEvents: {
'ended':'ended'
}

最佳答案

这是 jQuery 的限制,Ember 将其用于事件。它只是不能委托(delegate)视频或音频事件:http://jsfiddle.net/XzVXx/

不幸的是,它也缺乏获取 context 的能力。像 $.ajax() 这样的事件的参数,当然你不能指定什么this方法。

您将得到的最接近的是:

didInsertElement: function(){
this.$().on('ended', $.proxy( this.ended, this )) ;
}

关于ember.js - 如何将处理程序绑定(bind)到 ember.js 中视频标签的结束事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12593949/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com