Domanda

Supponiamo che io sono una classe come questa:

function myClass(q) {
  this.someFunction = function(e) {
      console.log("Click event");
  };

  jQuery(q).click(this.someFunction);
}

C'è un modo per indicare al JSDoc che someFunction non è solo una funzione che dovrebbe essere invocato direttamente, ma piuttosto è un gestore eventi?

Vedo il tag @event ma se ho capito bene questo è più per documentare una funzione nella mia classe che io ritengo essere un evento (qualcosa che il codice client registrerebbe troppo e che la mia classe si attiva quando necessario) e non una funzione di gestore di eventi?

È stato utile?

Soluzione

No, non c'è alcun modo di documentare un gestore di eventi.

Quindi il modo migliore è quello di documentare come una normale funzione magari scrivendo nella sua descrizione in grassetto o lettere maiuscole, che è un "gestore di eventi".

Probabilmente già ora questo, ma solo nel caso in cui: si può scrivere in grassetto semplicemente avvolgendo il testo in tag html <strong></strong>

.

Questa risposta è ormai deprecato, ma non mi permette di eliminarlo.

Altri suggerimenti

La parola chiave è @listens

Esempio di utilizzo:

/**
 * Outputs the event that happened
 *
 * @param {MyEvent} e - The observable event.
 * @listens MyEvent
 */
function myEventLogger(e) {
    console.log(e);
}

Il corollario è la href="http://usejsdoc.org/tags-fires.html" rel="noreferrer"> @fires parola chiave

scroll top