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测试了一个单击函数。这应该能奏效。请参见上面的编辑。