【问题标题】:Bootstrap popover and partial render - jquery .on()引导弹出窗口和部分渲染 - jquery .on()
【发布时间】:2014-01-07 12:20:54
【问题描述】:

我有一个使用 ajax 分页的 cgridview 的 Yii 应用程序。人们的常见问题 - 当您分页时,您会失去与 jquery 的绑定。例如,我的弹出框停止工作(除其他外)。

我的弹出框功能为:

$('.myclass').popover({
    trigger: 'hover',
    show: true,
    html: true
});

如何使用 jquery .on() 事件处理重写此函数?还是有其他解决方案?

【问题讨论】:

    标签: jquery ajax twitter-bootstrap yii popover


    【解决方案1】:

    您可以使用弹出框的selector 属性来预绑定它们。

    var popOverSettings = {
        trigger: 'hover',
        show: true,
        html: true,
        selector: '.myclass'
    }
    
    $('body').popover(popOverSettings);
    

    Demo

    【讨论】:

    • PSL 这看起来不错并且有效,除了 html 不再正确呈现。关于这个问题的任何想法?
    • 你有没有什么东西可以复制这个问题。是否显示弹出框?
    • 有效!所以我们必须在 html 中使用 data-html="true"。谢谢。
    • @lilbiscuit 是的,这会起作用。事实上,许多属性,比如你已经知道的触发器,可以是数据属性,比如data-trigger="hover"
    • 知道为什么它以前可以用作 javascript 属性,但不能使用此解决方案吗?这没什么大不了的,但知道它可能会有所帮助。
    【解决方案2】:

    另一种选择是设置一个 ajaxComplete 处理程序。这对我有用:

    // Enable popovers for Ajax content
    $(document).ajaxComplete(function() {
        $('[data-toggle="popover"]').popover({ trigger: 'hover', html: true }).click(function(evt) {
          evt.preventDefault();
        });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-02
      • 1970-01-01
      • 1970-01-01
      • 2016-09-14
      • 1970-01-01
      • 2012-02-22
      相关资源
      最近更新 更多