我正在尝试在rails 3 app中使用turbolinks。一切都很好,除了在页面更改后Alertify停止工作。
我已经安装了jquery-turbolinks gem来修补它,但这没有效果。
我也试过包装alertify函数并在页面上触发它:更改,但再次没有快乐。
任何人都有关于turbolinks的问题吗?
答案 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();
});