首页 > 解决方案 > 如何在 jsDoc 中记录 HTML 节点函数?

问题描述

我需要以这种方式添加一个附加到节点的函数:

myElement = querySelector('#myElement');
myElement.moveMe = () =>{
    //move Me Code;
}

但我不知道如何记录这个函数(也防止 lint 错误),我尝试将@extends 与 a 一起使用,@typedef但它说它只适用于构造函数。

标签: jsdoc

解决方案


我可能会建议这样做的正确方法是用{el: myElement, moveMe: ()=>{}}我自己创建一个对象,但如果你必须扩展,它看起来像这样:

/** 
 * @constructor
 * @extends {HTMLElement}
 */
const NewType = function() {};
/** @type {function()} */
NewType.prototype.moveMe = function(){};

/** @type {NewType} */
const myElement = /** @type {NewType} */ (document.querySelector('body div'));
myElement.moveMe = () =>{
    //move Me Code;
  console.log('dont remove me');
}

无错误


推荐阅读