在我的页面上,我以这种方式初始化Bootstrap工具提示
<script>
$(document).ready(function () {
$(function () {
$('[data-toggle="tooltip"]').tooltip();
});
});
</script>
This question表示无论何时发生事件,您都必须重新加载工具提示。但是,在各种ajax页面更新中,可能需要考虑50多个事件。 (此站点使用asp.net Web表单和ajaxcontroltoolkit)
每次事件发生时,我如何普遍重新开始工具提示? - 或者是否有更简单的解决方案来解决这个问题?
答案 0 :(得分:1)
您需要对Sys.WebForms.PageRequestManager
的javascript参考查看beginRequest / endRequest事件。由于asp.net ajax正在替换你的html,你需要在asp.net完成其ajax之后重新绑定引导小部件。
试试这个:
<script>
var prm = Sys.WebForms.PageRequestManager.getInstance();
//func to rebind tooltip
function reBind () { $('[data-toggle="tooltip"]').tooltip(); }
$(document).ready(function () {
$(function () {
reBind();
prm.add_endRequest(reBind);
});
});
</script>
警告一些引导小部件如果被绑定两次就会中断,所以请谨慎使用;某些元素可能需要监视其事件以查看它们是否被绑定多次。