qtip2を使用しています。qTip APIオブジェクトにアクセスしようとしていますが、ここに記載されているメソッドが表示されません。qTipをKnockoutJSと組み合わせて使用しているので、コードは次のようになります。
ko.bindingHandlers.withdocs = {
init: function(element, valueAccessor) {
var docs = ko.utils.unwrapObservable(valueAccessor());
var nDocs = docs.length;
console.log(docs);
if (nDocs > 0) {
var label = nDocs == 1 ? " doc" : " docs";
$(element)
.addClass('withdocs')
.text("with " + docs.length + label)
.qtip({
content: {
text: getTooltipText(docs),
title: {
text: 'Documents used in query'
}
},
show: {
event: 'mouseover',
solo: true // Only show one tooltip at a time
},
hide: 'unfocus',
style: {
classes: 'ui-tooltip-wiki ui-tooltip-light ui-tooltip-shadow'
}
})
}
},
update: function(element, valueAccessor) {
var docs = ko.utils.unwrapObservable(valueAccessor());
// error occurs in the following line
$(element).qtip("api").updateContent(getTooltipText(docs));
}
};
報告されるエラーは
Uncaught TypeError: Object #<QTip> has no method 'updateContent'
完全な例はjsfiddleにあります。
間違ったバージョンのqtipを使用していますか?私はこれにリンクしています。