微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Tippy.JS "TypeError: instance.setContent 不是函数"

如何解决Tippy.JS "TypeError: instance.setContent 不是函数"

当我尝试在 Tippy.JS 中设置工具提示内容时,出现错误 TypeError: instance.setContent is not a function

这是我的代码

var instance = tippy('#range',{
    placement: 'bottom',content: '',});

$('#range').on('input',function () {
    instance.setContent('Hello World!');
});

解决方法

尽管很奇怪,不管你使用什么类型的选择器,tippy 都会返回一个 ARRAY。那是因为tippy 函数可以根据选择器返回多个项目。 例如。

tippy("[notice='tippy']",{
            theme:'light',allowHTML:true,placement: 'bottom',content: contentElement.innerHTML,animation:'scale-subtle',trigger:'click',interactive: true,maxWidth: "none",onShow(instance) {
                instance.setContent(contentElement.innerHTML);
                this.windowHeight = window.innerHeight;
            }
        })

上面的代码选择了所有带有notice属性值为'tippy'的元素,并返回一个Tippy实例数组

[{/*Tippy Object*/},{/*Tippy Object*/}] //Javascript Array of Objects

如果您确定只返回一个元素,我建议您使用 [0] 只返回数组中的那个元素。

let oneTippy = tippy("#tippyElement",onShow(instance) {
                instance.setContent(contentElement.innerHTML);
                this.windowHeight = window.innerHeight;
            }
        })[0]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。