2011-08-28 82 views
3

在jQuery中是否有標準的方式來發布和訂閱自定義的事件?有無數的「自定義事件」的例子總是與一些HTML 元素有關。但是如果Person()想要發佈並激發由類HealthProfessional()所監聽的事件iAmSick,那該怎麼辦?我想這可以用回調來完成,但不是像asEvented那樣的東西?jQuery中的自定義類事件?

+0

那麼,你可以使用'window'對象來觸發它的所有事件,並將所有事件處理程序綁定到它上面......相應的'event'對象可以包含關於觸發事件的類的信息等。 –

+0

是的,你可以用這種方式來利用jQuery,但是我不清楚爲什麼這會比僅僅編寫一個獨立於jQuery的簡單調度器更簡單。我已經開發了一個簡單的事件pub/sub和JavaScript,這是一個非常簡單的事情。好問題,但:-) – Pointy

+0

Sime和@Pointy,如果你能提供例子/鏈接,它會有所幫助。 – Marc

回答

2

jQuery是一個跨瀏覽器的JavaScript庫,爲快速Web開發提供了DOM遍歷,事件處理,動畫和Ajax交互的抽象。

所以簡短的回答是:不。 Thre不是「jQuery中發佈和訂閱自定義類事件的標準方法」。

但是,如果你想創建自己的解決方案,但不希望從頭開始,我強烈建議您閱讀Darcy Clarke的文章:

Library Agnostic Pub/Sub (Publish/Subscribe)

+0

謝謝,這當然指向我關於這個話題的大量信息。我一直認爲jQuery就像退役的prototype.js一樣,不僅僅是一個DOM操縱器,而是一個JavaScript庫和增強器。 – Marc

0

jQuery是一個面向DOM的庫,一般來說維護者不會嘗試引入通用編程工具,比如你描述的pub/sub系統。