Javascript 如何在JSDoc中记录事件处理程序?

Javascript 如何在JSDoc中记录事件处理程序?,javascript,documentation,jsdoc,Javascript,Documentation,Jsdoc,假设我有一个这样的类: function myClass(q) { this.someFunction = function(e) { console.log("Click event"); }; jQuery(q).click(this.someFunction); } 有没有一种方法可以向JSDoc表明someFunction不仅仅是一个应该直接调用的函数,而是一个事件处理程序 我看到了@事件标签,但是如果我理解正确,这是为了记录我班中一个我认为是事件的函数(客户

假设我有一个这样的类:

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

  jQuery(q).click(this.someFunction);
}
有没有一种方法可以向JSDoc表明someFunction不仅仅是一个应该直接调用的函数,而是一个事件处理程序

我看到了@事件标签,但是如果我理解正确,这是为了记录我班中一个我认为是事件的函数(客户端代码也会登记,并且我的类在需要时会被激发)而不是事件处理函数(

不),没有办法记录事件处理程序。 因此,最好的方法是将其作为一个普通函数进行记录,可以用粗体文本或大写字母(即“事件处理程序”)对其进行描述

您可能已经这样做了,但以防万一:只需将文本包装到html标记中,就可以用粗体书写

此答案现在已弃用,但不允许我删除它。

关键字为

用法示例:

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

由此产生的结果是引发事件的关键字。

@listens
现在是一个新的主题。我在这篇文章中找到了一种方法来记录“on”事件,例如socket.io的
io.on('connection',function(socket){//do things})
和jQuery的
$(document).on('click','my_class',function(){//do things})。在使用类似于
@listens connection
?可能是因为没有办法定义必然的
@触发
事件-例如创建
连接
事件的socket.io代码?与jQuery示例相同-如何为点击处理程序定义
@fires
事件?应该删除此答案。@Chris Marisic:我同意,但它不允许我删除它,因为它是可接受的答案。您可以编辑它,使用删除线删除旧答案,然后要么给出正确的答案,要么引导用户找到其他人的正确答案。