0

这是我的代码:

// Reload screen after submission and completion of AJAX actions
$('.view-whiteboard, .view-whiteboard-full').ajaxStop(function() {
  location.reload();
});

我在我的 Drupal 网站的前端运行此代码,但由于某种原因,当我在后端管理面板中提交/保存任何内容时,上面的代码片段会使页面重新加载。

我很困惑为什么要这样做,因为我已经在代码中定义了应该特定于前端表单的类名。

我是否在上面的代码中遗漏了一些东西,所以我在每次提交表单时都会触发 location.reload() ?

任何帮助都会很棒。谢谢 -

4

1 回答 1

0

从 jQuery 1.8 开始,.ajaxStop() 方法只能附加到文档。您可以通过创建一个运行 ajaxStop 一次的 .click 函数来解决此问题:

$(document).ready(function(){
    $(".view-whiteboard, .view-whiteboard-full").click(function(){
        $(document).one("ajaxStop", function() {
            location.reload();
        });
    });
});

否则,只需将公共主题与管理主题分开,这样它们就不会使用相同的 javascript(必须禁用覆盖模块)。

于 2013-04-26T04:01:38.207 回答