支持新行的JQuery工具提示
我正在寻找一个轻量级jquery插件,用于在用户悬停在某个元素上时显示工具提示。我希望插件能够从title属性中获取内容,而且我可以创建新行也是很重要的 感谢您的帮助 我通常使用支持新行的JQuery工具提示,jquery,jquery-plugins,tooltip,Jquery,Jquery Plugins,Tooltip,我正在寻找一个轻量级jquery插件,用于在用户悬停在某个元素上时显示工具提示。我希望插件能够从title属性中获取内容,而且我可以创建新行也是很重要的 感谢您的帮助 我通常使用 您可以在tipsy中添加任何html元素,因此可以正常工作 您只需按如下方式传递html选项: $('#example-html').tipsy({html: true }); 如果您不想使用title属性来显示html(在这种情况下不会验证),可以使用fallback选项 $('#example-fallback
您可以在tipsy中添加任何html元素,因此
可以正常工作
您只需按如下方式传递html
选项:
$('#example-html').tipsy({html: true });
如果您不想使用title
属性来显示html(在这种情况下不会验证),可以使用fallback
选项
$('#example-fallback').tipsy({fallback: "Where's my tooltip yo'? <br/> yay !" });
$(“#示例回退”).tipsy({回退:“我的工具提示在哪里?”
耶!});
.大多数浏览器(不是Firefox或Opera-)都支持title
属性中的换行符
如果插件没有将它们呈现为
,请先在文本中执行此操作
var tooltip = $('#whatever').attr('title').replace(/\n/g, '<br />');
var-tooltip=$(“#无论什么”).attr('title').replace(/\n/g,“
”);
。。。然后将
工具提示
传递到工具提示库(例如)。是一个很好的工具提示,用于管理需要保存更多内容的工具提示简单自定义jQuery扩展:
$.fn.extend({
myToolTip: function() {
this.hover(
// mouse in ...
function () {
var $this = $(this);
if ($this.attr("title")) {
$this.data("$tooltip", $("<div class='myToolTip'></div>")
.text($this.attr("title"))
.html(function(i, html) { return html.replace(/\n/g, "<br/>"); })
.css({
position: "absolute",
top: $this.position().top + $this.outerHeight(),
left: $this.position().left
})
.appendTo("body")
);
}
},
// mouse out ...
function () {
var $tooltip = $(this).data("$tooltip");
if ($tooltip) $tooltip.remove();
}
);
}
});
$.fn.extend({
myToolTip:function(){
这个,悬停(
//鼠标在。。。
函数(){
var$this=$(this);
如果($this.attr(“title”)){
$this.data(“$tooltip”,$(“”)
.text($this.attr(“标题”))
.html(函数(i,html){返回html.replace(/\n/g,“
”);})
.css({
位置:“绝对”,
顶部:$this.position().top+$this.outerHeight(),
左:$this.position().left
})
.附件(“正文”)
);
}
},
//鼠标出。。。
函数(){
var$tooltip=$(this.data(“$tooltip”);
如果($tooltip)$tooltip.remove();
}
);
}
});
这将创建一个
(使用CSS设置样式),并将其放置在鼠标指针上相关元素的下方。鼠标移动时,工具提示再次被删除。元素的标题
中的换行符将成为
中
的内容,其他所有内容将逐字显示
通过$(.someElements”).myToolTip()调用扩展名代码>在jQuery 1.9(jQuery+jQuery ui)和标准工具提示功能中使用:
$(".myClass").tooltip({
content: function() {
return $(this).attr('title');
}
})
然后在标题中可以使用HTML的
或
例如:
<span class="myClass" title="Line1 <br> Line 2 <br> <b>Bold</b><br>">(?)</span>
(?)
此代码使标题标记中的br工作
$(document).tooltip({
content: function() {
var element = $(this);
return element.attr("title");
}
});
您可以使用以下示例:
$(document).ready(function(){
$(function () {
$('[data-toggle="tooltip"]').tooltip({
container : 'body',
html: true
});
});
});
在标题中添加html标记“
”后:
title=text1<br/>text2
title=text1
text2
真的可以使用tipsy添加新行吗?@Nordis:您可以在tipsy中添加任何html。所以
起作用了。我的编辑中的更多细节如果属性值被正确编码,HTML代码应该完全验证……因此
应该验证并包含“1
2”
作为标题属性值。@Tomalak:应该是,但由于我没有用tipsy测试它,我不能肯定地回答它。如果它有效,很好,否则,我给出了另一个选择:)我看不出qTip支持html或工具提示中的新行。我已经看过了所有的例子,没有一个使用多行。我需要插件从title属性获取内容。。无论如何,Thx。它很容易实现,只需在跳出设置上方的jquery.tooltip文件中添加“content=$(this).attr('title');”)即可。遗憾的是Uncaught TypeError:Object[Object Object]没有方法“tooltip”
,也没有关于jquery文档中totip方法的内容。@Ajax源代码中是否附加了jquery和jquery ui?工具提示类是我在jquery ui()中记得的,不,我知道,这是jquery ui函数,但在你的帖子中没有关于jquery ui的词:)@Ajax谢谢。这是唯一对我有效的答案。简单明了!我一直在寻找这个答案。像魔术一样工作!非常感谢!上帝保佑你!