我想实现以下功能,但不知道如何做。页面上有几个工具提示,但我希望每个工具提示看起来都不同(取决于严重程度)。这是我目前的代码:
<div id="container">
<a href="#" title="Tooltip 1" data-severity="warning">Tooltip 1 (Warning)</a>
<a href="#" title="Tooltip 2" data-severity="danger">Tooltip 2 (Danger)</a>
</div>
<script type="text/javascript">
// init tooltip
ArrowToolTip.init('container');
</script>
/*JAVASCRIPT*/
var ArrowToolTip = {
init: function (parentId) {
jQuery('#' + parentId).tooltip(
{
content: function () {
var element = jQuery(this);
return element.attr('title');
},
create: function () {
var element = jQuery(this);
var severity = element.data('severity');
if (!severity) {
severity = 'default';
}
element.tooltip('option', 'tooltipClass', severity);
},
open: function(event, ui) {
var element = jQuery(this);
var severity = element.data('severity');
ui.tooltip({
tooltipClass: severity
});
//ui.tooltip.tooltipClass(severity);
console.log(event);
console.log(ui);
}
});
}
}
我在 create:
中的所有内容都能正常工作,但它只在页面加载时被调用,所以对我没有任何帮助。因此,现在我正在尝试将其移动到 open:
事件中。但是这似乎根本不起作用。 jQuery(this)
并未返回鼠标悬停的元素,而是返回了容器。如何获取正确的元素以选择数据属性?然后如何更改 CSS 类?有谁知道如何实现这一点吗?
var element = ui.tooltip;
。 - mccannf