2
我需要一個webkitTransitionEnd
事件監聽器在我EmberView
添加到DOM
要素之一。恩貝爾:的document.getElementById等效(「富」)的addEventListener
這個JavaScript(DOM),相當於將是:
function transitionEnded() {
console.log("transition ended");
}
document.getElementById('foo').addEventListener(
"webkitTransitionEnd",
this.transitionEnded,
true);
我已經試過如下:
var MessageView = Ember.View.extend({
...
transitionEnded: function() {
console.log("Transition Alert!");
},
actions: {
closeMessageWithTransition: function(){
var elem = document.getElementById('transitionThis');
elem.addEventListener(
"webkitTransitionEnd", this.transitionEnded, true);
// Trigger the transition here
}
...
我使用也嘗試:
this.$("#transitionThis").get(0).addEventListener(...);
代替使用:
var elem = document.getElementById('transitionThis');
elem.addEventListener(...);
但無濟於事。過渡發生,但我沒有得到任何事件,也沒有看到控制檯中的錯誤。
我可以確認document.getElementById
方法選擇正確的元素。那麼,我的事件處理程序在哪裏?
編輯1:沒有意識到有一個emberjs.jsbin.com。所以,在這裏你去:
PS:我不知道該元素我附加了一個監聽器,最終得到後來被毀時transitionTo('messages')
但我已經註釋掉了一下,還是沒有效果。
編輯2:我已經添加的追趕使用EventManager
如Ember.View文檔概述的事件的替代方法。
你可以建立一個例子,隨意使用於Emberjs.jsbin.com – Kingpin2k
@ kingpin2k我已經成立了一個例子模板。謝謝。 –