获得警报以使用turbolinks

时间:2013-04-18 11:59:43

标签: ruby-on-rails-3 turbolinks alertify

我正在尝试在rails 3 app中使用turbolinks。一切都很好,除了在页面更改后Alertify停止工作。

我已经安装了jquery-turbolinks gem来修补它,但这没有效果。

我也试过包装alertify函数并在页面上触发它:更改,但再次没有快乐。

任何人都有关于turbolinks的问题吗?

2 个答案:

答案 0 :(得分:2)

使用Alertify 0.4.0(目前为RC1)遇到此问题的任何人都可以通过重置您正在使用的Alertify元素来解决此问题。就我而言,它是Alertify.dialog:

Alertify.dialog.el = false
// Do your normal JS stuff

在我对此的粗略理解中,Alertify认为已经创建了一个对话框元素,但是当Turbolinks加载页面时,它会销毁该元素。我们需要告诉Alertify它已被销毁,Alertify将重新创建它。

如果您需要任何具体帮助,请与我们联系。

答案 1 :(得分:1)

据我所知,Turbolinks对全局范围感到困惑,这会阻止警报与DOM正确连接。

我的工作就是:

   //Keep global reference to alertify init() function
    $(document).on('ready',function(){
     window alertifyInit = alertify.init;
    });
    //re-initialise on page change/load
    $(document).on('page:change page:load',function(){
        alertifyInit();
    });
相关问题