Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.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
Spring boot 在渲染片段后重新加载javascript_Spring Boot_Thymeleaf - Fatal编程技术网

Spring boot 在渲染片段后重新加载javascript

Spring boot 在渲染片段后重新加载javascript,spring-boot,thymeleaf,Spring Boot,Thymeleaf,我在布局装饰器模板的中定义了javascript文件,也在装饰的各个页面中定义了javascript文件。当我在我的一个页面中更新一个thymeleaf片段时,父页面头部定义的javascript将不再工作。有没有标准的方法来“刷新”这些js文件 谢谢 补充澄清: 我有一个ajax调用提交的表单,它更新了页面中的一个表。我有一个jqueryonclick函数,目标是更新表中的一个按钮。javascript似乎无法绑定到页面更新部分中返回的元素。我按元素类选择,可以看到选择在部分片段渲染之前起作用

我在布局装饰器模板的
中定义了javascript文件,也在装饰的各个页面中定义了javascript文件。当我在我的一个页面中更新一个thymeleaf片段时,父页面头部定义的javascript将不再工作。有没有标准的方法来“刷新”这些js文件

谢谢

补充澄清:


我有一个ajax调用提交的表单,它更新了页面中的一个表。我有一个jqueryonclick函数,目标是更新表中的一个按钮。javascript似乎无法绑定到页面更新部分中返回的元素。我按元素类选择,可以看到选择在部分片段渲染之前起作用。

对我来说,不清楚您的意思是什么

父页面头部定义的javascript不再工作

页面是在服务器上创建的。通常它包含javascript文件的URL

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

在这种情况下,只能在客户端“刷新”javascript文件

在客户端中检查页面的html。 标签是否如预期的那样? 是否所有预期的javascript文件都有标记

使用浏览器工具(例如Google Chrom developer工具)检查所有脚本文件是否已实际加载

如果这没有帮助,可能是脚本标记的顺序在第一次加载和第二次加载之间发生了更改。这可能会导致浏览器中执行的javascript出现不同的行为

编辑:

在初始加载时,将javascript回调绑定到dom元素

您可以直接或通过Jquery或其他库执行此操作

加载新的dom元素时,即使它与替换的dom元素具有相同的id,也没有绑定到它的回调

因此,在加载之后,您必须再次绑定回调

如果你“用手”捆扎,就再捆扎一次


如果您使用的是制作绑定的JQuery插件,请查看代码或文档,其中许多插件都有相应的功能,或者您可以再次调用初始化。

将新内容添加到DOM后,您需要再次绑定新内容

假设我有一个带有某个类的按钮,其中的事件绑定到该类:

<button class="someclass">Button 1</button>

<script>
    var something = function() {
        // do something
    };
    $(".someclass").on("click", something);
</script>

您的JS中有$(document).ready(function())吗?假设它是JQuery。如果没有代码,很难判断发生了什么。我有$(document).ready(function())在我的JS中,这是在开发还是部署期间发生的?这两种环境都会受到影响,没有代码,这真的很难说。我有一个由ajax调用提交的表单,它更新了页面中的一个表。我有一个Jquery onClick函数,目标是更新表中的一个按钮。javascript似乎无法绑定到更新了页面的一部分。我按元素类选择,可以看到选择在部分片段呈现之前起作用。加载后需要“重新绑定”事件。类似$(“#控件”).off(“click”);$(“#控件”).on(“click”,function(){});
    $(".someclass").off("click");
    $(".someclass").on("click" , something);