触发动态加载的HTML内容的Bootstrap JS行为

时间:2016-01-14 20:58:26

标签: javascript jquery twitter-bootstrap-3

我正在动态加载包含Bootstrap标记的HTML模板。但是,没有任何Bootstrap Javascript行为应用于加载的内容。例如,如果加载的内容包含Bootstrap模式的标记,则模态不会正常运行。

有没有办法可以触发Bootstrap 刷新它的Javascript应用到新加载的内容?

3 个答案:

答案 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)