Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery location.reload()位于站点';s前端与站点';s管理后端_Jquery_Drupal 7_Drupal Ajax - Fatal编程技术网

Jquery location.reload()位于站点';s前端与站点';s管理后端

Jquery location.reload()位于站点';s前端与站点';s管理后端,jquery,drupal-7,drupal-ajax,Jquery,Drupal 7,Drupal Ajax,这是我的密码: // Reload screen after submission and completion of AJAX actions $('.view-whiteboard, .view-whiteboard-full').ajaxStop(function() { location.reload(); }); 我在Drupal网站的前端运行这段代码,但由于某种原因,当我在后端管理面板中提交/保存任何内容时,上面的代码片段会使页面重新加载 我对它为什么这样做感到困惑,因为我已经

这是我的密码:

// Reload screen after submission and completion of AJAX actions
$('.view-whiteboard, .view-whiteboard-full').ajaxStop(function() {
  location.reload();
});
我在Drupal网站的前端运行这段代码,但由于某种原因,当我在后端管理面板中提交/保存任何内容时,上面的代码片段会使页面重新加载

我对它为什么这样做感到困惑,因为我已经在代码中定义了类名,这些类名应该特定于前端中的表单

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


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

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

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

否则,只需将public和admin主题分开,这样它们就不会使用相同的javascript(必须禁用overlay模块)。

Hi Patrick。谢谢你的回复。您知道在使用管理覆盖模块时,将公共js与管理分离的最佳方法是什么吗?换句话说,在使用该模块时,是否仍然可以将公共和管理中的js分开?如果没有,您知道我可以使用的另一种jQuery AJAX方法吗?它不会以文档为目标,而只以具有特定类名的元素为目标?我使用一次性ajaxStop测试了一个单击函数。这应该能奏效。请参见上面的编辑。