如何在jsDoc中记录HTML节点函数?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (79)

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

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

但我不知道如何记录这个函数(并且还防止lint错误),我尝试使用@extends @typedef但是它说它只适用于构造函数。

提问于
用户回答回答于

我可能会建议这样做的正确方法是用{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');
}

没有错误

扫码关注云+社区

领取腾讯云代金券