語法
@event <className>#[event:]<eventName>
概觀
@event 標籤允許您記載可以觸發的事件。典型的事件會由具有已定義屬性集的物件表示。
一旦您使用 @event 標籤定義特定類型的事件,您就可以使用 @fires 標籤指出方法可以觸發該事件。您也可以使用 @listens 標籤指出符號會監聽該事件。
JSDoc 會自動在每個事件名稱前面加上名稱空間 event:
。一般來說,當您在其他文件說明中連結到事件時,您必須包含這個名稱空間。(@fires 標籤是一個值得注意的例外;它允許您省略名稱空間。)
注意:JSDoc 3 使用 @event 文件說明記載事件的內容。相反地,JSDoc Toolkit 2 使用 @event 文件說明識別當同名事件發生時可以觸發的函式。
範例
以下範例顯示如何記載 Hurl
類別中稱為 snowball
的事件。該事件包含具有單一屬性的物件。
/**
* Throw a snowball.
*
* @fires Hurl#snowball
*/
Hurl.prototype.snowball = function() {
/**
* Snowball event.
*
* @event Hurl#snowball
* @type {object}
* @property {boolean} isPacked - Indicates whether the snowball is tightly packed.
*/
this.emit('snowball', {
isPacked: this._snowball.isPacked
});
};
/**
* Throw a snowball.
*
* @fires Hurl#snowball
*/
Hurl.prototype.snowball = function() {
// ...
};
/**
* Snowball event.
*
* @event Hurl#snowball
* @type {object}
* @property {boolean} isPacked - Indicates whether the snowball is tightly packed.
*/