qTip2を使用して、サイトのいくつかのボタンにツールチップを添付しています。ボタンの1つをクリックすると、表示されている間に独自のツールチップに表示されるコンテンツを変更する必要があります。
私は、同じ問題に対処し、実用的な例を提供するSOでこの質問を見つけました。例の関連部分は次のとおりです。
var qapi = $('#test').data('qtip'),
newtip = 'new content';
qapi.options.content.text = newtip;
qapi.elements.content.text(newtip);
qapi.redraw();
基本的に、ツールチップを取得し、新しいコンテンツを定義し、新しいコンテンツを交換redraw()
し、ツールチップを呼び出して、新しいコンテンツが配置された状態で再描画されるようにします。
ただし、この例と自分のサイトでの実装の両方で、IE8でエラーが発生します。これは機能し、コンテンツは期待どおりに変更されます。他のすべてのブラウザでも機能しますが、エラーは発生しません。
エラーは次のとおりです。
Object doesn't support this property or method
と呼ばれる行でredraw()
:
qapi.redraw();
このエラーの発生を防ぐ方法はありますか?機能がredraw()
動作し、ツールチップの内容が希望どおりに変更されているのがわかりますが、エラーが発生すると「音が鳴り」、IEのステータスバーに警告アイコンが表示されます。