ツールチップの配置はjQueryUIPositionオブジェクトによって制御され、デフォルト設定は次のとおりです。
{ my: "left+15 center", at: "right center", collision: "flipfit" }
位置オブジェクト、特にcollision
属性を変更して、コントロールを別の場所に強制的に配置することができます。ツールチップのデフォルトはflipfitです。これは、デフォルト(右側)が適合しない場合は左に反転してその位置を試し、それが何とも衝突しない場合は、コントロールを離して適合させることを意味します。ウィンドウの端。その結果、。と衝突するようになりました<input>
。長いツールチップを巧みにラップするオプションはないようです。
ただし、コンテンツをラップする方法は2つあります。
max-width
強制的に折り返すには、カスタムCSSクラスを構成に追加します。次に例を示します。
JavaScript
$('input').tooltip({
tooltipClass:'tooltip'
});
CSS
.tooltip {
max-width:256px;
}
<br/>
または、たとえば、title属性にハード改行を挿入します
title="Lorem ipsum dolor sit amet,<br/>consectetur adipisicing elit"
編集: jQueryUIがツールチップコンテンツオプションをv1.9とv1.10の間で変更したようです( changelogによる)。参考までに、違いは次のとおりです。
v1.9.2
content: function() {
return $( this ).attr( "title" );
}
v1.10
content: function() {
// support: IE<9, Opera in jQuery <1.7
// .text() can't accept undefined, so coerce to a string
var title = $( this ).attr( "title" ) || "";
// Escape title, since we're going from an attribute to raw HTML
return $( "<a>" ).text( title ).html();
}
したがって、次のように使用することで、 title属性<br/>
のタグをエスケープしない古い機能を元に戻すことができます。.tooltip()
$('input').tooltip({
content: function() {
return $(this).attr('title');
}
});
また、jsFiddleデモも参照してください。