Twitter Bootstrap Tooltip with Ajax Injected Elements in Firefox
我使用Ajax将元素注入到DOM中:
1 2 3 4 5 6 7 8 9 10
| $.ajax({
url: 'foo.html',
type: 'post',
data: { foo:"bar"},
success: function (html) {
$("#foo").html(html);
$('[data-toggle="tooltip"]').tooltip();
}
}); |
工具提示似乎不适用于firefox中由button包围的dom元素(在v19.0上测试)
JS小提琴:http://js fiddle.net/cyberjar09/4numu/1/
我注意到当我删除button元素外的icon元素时,firefox又开始工作了。
我可以从Firebug控制台查询元素(它们存在于DOM中)
1
| $('[data-toggle="tooltip"]') |
发生了什么?
我通常在DOM中看到一个元素作为要在其上执行工具提示的元素的兄弟元素出现,但在firefox中使用im测试的动态元素不会出现这种情况。
IE 9和Chrome 25似乎工作得很好
- 在调用tooltip之前,您可以执行console.log($('[data-toggle="tooltip"]'))操作,以查看此时出现了多少元素吗?
- 正如问题中所提到的,我能够从Firebug控制台查询元素,换句话说,我能够看到控制台日志中的元素,并且能够从控制台日志的结果中突出显示它们。
- 这是在上述代码执行正确之后,我要做的是查看是否有延迟从Firefox端更新DOM树。这就是为什么我要求在$("#foo").html(html);和$('[data-toggle="tooltip"]').tooltip();之间加上console.log()。
- @是的,我可以在console.log()中看到元素;
- 我甚至做了一个设定(…,800),但这似乎不是一个比赛条件的问题。
- 如果您从控制台执行$('[data-toggle="tooltip"]').tooltip();,它是否工作
- 这个问题可能有帮助:stackoverflow.com/questions/9958825/…
- @谢谢你的意见,我也试过了,但还是没用。
- 更新了问题描述,找到了问题的原因。
- 在github中对此提出了问题:github.com/twitter/bootstrap/issues/7129
它被引导团队认为是Github上的合法问题。现在已经关闭:https://github.com/twitter/bootstrap/issues/7129