引导工具提示CSS更改在文件中有效,但不适用于jQuery
Bootstrap tooltip CSS changes work in file but not with jQuery
我正在尝试自定义.tooltip-inner
类的外观(来自Twitter Bootstrap),当我将其添加到CSS文件(覆盖Bootstrap.CSS)时,它运行良好:
.tooltip-inner {
color: #333;
background-color: #fff;
border: 1px solid #333;
}
以下是使用工具提示的地方:
<img id="notebookIcon" src="notebook.png" data-placement="bottom" data-toggle="tooltip" title="Apps" />
但当我尝试这个:
$(function(){
//$('#notebookIcon').tooltip(); Uncommenting this doesn't fix
$('.tooltip-inner').css('background-color','#fff');
$('.tooltip-inner').css('color','#333');
$('.tooltip-inner').css({"border-color": '#333',"border-width":"1px","border-style":"solid"});
});
更改不会出现。
旁注:出现的工具提示的实际类是class="tooltip fade bottom in"
(在运行时使用Firebug可以观察到这一点),但修改.tooltip-inner
CSS似乎有效。
当悬停发生时,Twitter引导库会添加和删除工具提示元素。即使在用.tooltip()
初始化工具提示后,页面中也不会添加HTML。。。因此您在$(".tooltip-inner")
上立即调用.css()
不匹配任何元素。当您将鼠标悬停在目标上时,Bootstrap会在目标之后立即添加一个<div class="tooltip">
元素。离开目标时,该新元素将被删除。
CSS总是在那里,并准备好应用于元素,所以它总是在悬停时添加元素时应用。
解决方案是将mouseenter
事件绑定到目标,然后应用样式:
$(function () {
$('#notebookIcon').tooltip().on("mouseenter", function () {
var $this = $(this),
tooltip = $this.next(".tooltip");
tooltip.find(".tooltip-inner").css({
backgroundColor: "#fff",
color: "#333",
borderColor: "#333",
borderWidth: "1px",
borderStyle: "solid"
});
});
});
演示:http://jsfiddle.net/uDF4N/
相关文章:
- CSS 类在特定场景中不适用
- ng类不适用
- Internet Explorer CSS类样式没有'如果存在具有相同类名的其他元素,则不适用
- 指令“链接”不适用,如我所愿
- 最小和最大轴值在具有对数轴的高图表中不适用
- 角度范围项目在项目更改后不适用
- 页面加载顺序有问题 - 样式不适用
- 更改可见性后,背景颜色不适用
- CSS3 透视在动画完成之前不适用
- 将最后一个子项移到第一个位置不适用jquery
- 当函数作为参数传递时,Javascript函数提升不适用
- AngularJS 1.3-为什么表单在加载时有效,适用于长度最小的输入
- 表格的替代颜色 css 不适用
- CSS宽度不'通过.html()克隆html代码时不适用
- 为什么在jQuery中使用focusout适用于Firefox,而使用addEventListener则不适用;t
- 样式不适用
- jQuery选择菜单验证器适用于FF和Chrome,但不适用IE
- 单选按钮'onclick'适用于Chrome和Firefox,但不适用IE
- 下拉式值不会'不适用
- JQuery ScrollTop适用于chrome,但不适用firefox