2012-11-16 45 views
2

我想讓多個視圖對用戶所做的事情做出反應。所以我認爲,全球定製事件對我來說是正確的。如果有更好的東西,我爲其他想法感到高興。使用jQuery的全局customEvents

the documentation,我應該能夠添加自定義事件我Ember.js應用這樣的:

Mobile = Em.Application.create({ 
    customEvents: { 
    "customevent": "customevent" 
    } 
}); 

不幸的是,文檔停在那裏,不告訴我怎麼觸發事件和綁定一些東西。所以沒有嘗試過自己,創造一種觀點認爲,應該「聽」到它:

Mobile.HeaderView = Em.View.extend({ 
    templateName: "header", 
    customevent: function() { 
    return console.log("Custom event has been fired!"); 
    } 
}); 

最後,我觸發事件在我的控制檯:

$.event.trigger("customevent") 

不幸的是,沒有任何反應。

有人可以告訴我我做錯了什麼嗎?或者,如果有更好的方法來獲得我想要的東西?

+1

我要說的是,你應該觸發這樣的事件:$(」 #foo ')觸發(' 點擊');因爲你做這件事的方式可能在更高的範圍內,這就是爲什麼燼沒有抓住它。 #foo應該是您的視圖中的選擇者。 –

+1

你說得對,當我在視圖中的選擇器上調用'trigger()'時,它就可以工作。但是「在我看來」也意味着它不再是全球性事件了,對吧? – kraftwer1

回答