工具提示的placement由jQueryUI的位置對象控制,默認設置是:
{ my: "left+15 center", at: "right center", collision: "flipfit" }
的Position對象,尤其是collision
屬性可以改變強制控制其他地方的位置。工具提示的默認設置是flipfit這意味着如果默認(在右邊)不適合它將翻轉到左邊,並嘗試該位置,如果不與任何東西碰撞,請嘗試合適通過將其從窗口邊緣移開來進行控制。結果是它現在與<input>
相沖突。似乎沒有辦法強制一個很長的工具提示來巧妙地包裝。
但是有兩種方法來包裝內容:
添加自定義CSS類的配置與max-width
迫使包裝,例如:
的JavaScript
$('input').tooltip({
tooltipClass:'tooltip'
});
CSS
.tooltip {
max-width:256px;
}
或插入硬線條AKS <br/>
在title屬性,例如
title="Lorem ipsum dolor sit amet,<br/>consectetur adipisicing elit"
編輯:所以看起來(根據the changelog)像jQueryUI的變化V1.9和1.10之間的提示內容選項。僅供參考這裏的區別是:
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();
}
所以,你可以放回到舊的功能,不使用.tooltip()
這樣逃避的標題屬性<br/>
標籤:
$('input').tooltip({
content: function() {
return $(this).attr('title');
}
});
此外,請參閱jsFiddle demo。
用的jsfiddle演示更新,因爲官方演示不再顯示最新版本的jQuery的問題。還更新了我的答案,如何添加換行符。 – andyb
+1包含jsFiddle演示 – Mir