【问题标题】:How to let scripts still work after refreshing a div on click?单击刷新div后如何让脚本仍然有效?
【发布时间】:2017-06-24 18:39:47
【问题描述】:

我有一个脚本,它通过 ajax 将数据插入数据库,插入完成后,会出现一个重新加载 div 的按钮,其中包括插入的内容。在下面我的脚本重新加载 div:

// RELOAD MAINCONTENT
$('#reload-maincontent').on("click", function(evt){
    var reloadContent = location.href + " #main--content";
    $("#main--content").load(reloadContent);
    evt.preventDefault();
});

单击内容后会重新加载内容,但如果单击按钮(包括其他脚本并且包含在插入的数据中),则在我完全重新加载页面后,这些脚本将不再起作用。如何解决这个问题?

提前致谢, J罗

【问题讨论】:

    标签: jquery html ajax


    【解决方案1】:

    您不能将事件处理程序附加到由 ajax 加载的元素,因为它会在脚本完成后出现在页面上。你应该像这样使用事件冒泡:

     $(document).on("click", '#reload-maincontent', function(evt){
            var reloadContent = location.href + " #main--content";
            $("#main--content").load(reloadContent);
            evt.preventDefault();
      });
    

    【讨论】:

      猜你喜欢
      • 2020-05-01
      • 2021-05-06
      • 2021-03-14
      • 1970-01-01
      • 2016-04-19
      • 2016-11-02
      • 1970-01-01
      • 1970-01-01
      • 2015-03-08
      相关资源
      最近更新 更多