javascript - 为什么我的 jquery 模式在整页 ajax 加载后停止工作?

标签 javascript jquery ajax

我发现 jQuery 对话框存在问题(使用 jquery 1.3,相当旧,但我无法更新它)。

当我这样做的时候

var request = $.ajax({
  url: "${Request.context}/info/" + userId,
  success: function(response) {
    $("#userInfo").html(response);
  }
});

$("#divUserInfo").dialog('open');
}

哪里

$('#divUserInfo').dialog({
  width: 700,
  height: 250,
  autoOpen: false,
  modal: true,
  title: "User Info",
  resizable: false
});

对话框本身工作正常,每次没有内容或当我这样做时都会打开 $("#userInfo").html("any string possible");

但是当我加载 ajax 响应的整个页面时,我在控制台上看不到错误,但无法重新打开对话框。有什么办法可以避免这种情况发生吗?我应该重新加载 DOM 或者类似的东西吗?或提取响应的正文?

最佳答案

用ajax响应替换DOM后,您需要重新初始化对话框插件,以便它也适用于更新的DOM元素

试试这个:

var request = $.ajax({
  url: "${Request.context}/info/" + userId,
  success: function(response) {
    $("#userInfo").html(response);
    $('#divUserInfo').dialog({
      width: 700,
      height: 250,
      autoOpen: false,
      modal: true,
      title: "User Info",
      resizable: false
    });
  }
});

关于javascript - 为什么我的 jquery 模式在整页 ajax 加载后停止工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44528040/

相关文章:

javascript - Firefox 附加组件 window.addEventListener 错误 : window not defined

jquery - 定义 jquery attr 变量的正确方法?

jQuery 将本地服务器上的文本文件加载到 DIV

javascript - 单击超链接时的搜索引擎和 javascript 代码

javascript - Ajax读取页面内容(同一域)

javascript - 使用嵌套复选框进行级联检查

javascript - 动态更改选项文本 - knockout.js

javascript - 单击另一个标签时激活标签(:active)

jquery - 表排序过滤器 - 更改重置过滤器值

php - 如果没有从下拉列表中选择值,允许文本框使用 php、mysql、javascript 添加到 mysql 表