我正在动态加载包含Bootstrap标记的HTML模板。但是,没有任何Bootstrap Javascript行为应用于加载的内容。例如,如果加载的内容包含Bootstrap模式的标记,则模态不会正常运行。
有没有办法可以触发Bootstrap 刷新或将它的Javascript应用到新加载的内容?
答案 0 :(得分:1)
你需要在回调函数/请求对象加载动态内容时初始化模态
如果没有看到你的代码就很难说,但这样的事情require(['!text/myDynamicTemplate.html'], function(template){
//logic to render the template and/or insert it into the dom here
$('#myModal').modal(options)
})
编辑:
Bootstrap单独定义其javascript插件。没有全局引导对象
这是工具提示的插件定义
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.tooltip')
var options = typeof option == 'object' && option
if (!data && /destroy|hide/.test(option)) return
if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
if (typeof option == 'string') data[option]()
})
}
var old = $.fn.tooltip
$.fn.tooltip = Plugin
$.fn.tooltip.Constructor = Tooltip
// TOOLTIP NO CONFLICT
// ===================
$.fn.tooltip.noConflict = function () {
$.fn.tooltip = old
return this
}
}(jQuery);
因此,您唯一可以通过$('#myID')访问工具。工具提示是构造函数和初始化程序
您可以在不修改引导代码的情况下做到最好
$('[data-toggle=tooltip]').tooltip()
答案 1 :(得分:1)
默认情况下,警告关闭按钮和模型打开按钮已被委派。如果有data-toggle
属性,则会委派它,但工具提示和弹出窗口除外。工具提示和弹出窗口是选择加入的。每个其他bootstrap js组件都可能有一个刷新方法,例如scrollspy脚本。
我通常添加一个函数,在其中我将所需的javascript(如bootstrap(或WYSIWIG编辑器))应用于任何范围。
还有一些可能对您有帮助的bootbox:http://bootboxjs.com/
对于通过ajax加载bootstrap模型,http://jschr.github.io/bootstrap-modal/可能对你有所帮助。
答案 2 :(得分:1)
值得一试:
http://nakupanda.github.io/bootstrap3-dialog/#loading-remote-page
查看更多讨论:
https://github.com/nakupanda/bootstrap3-dialog/issues/217
https://github.com/nakupanda/bootstrap3-dialog/issues/189
https://github.com/nakupanda/bootstrap3-dialog/issues/185