jquery - 在 jQuery 中插入后更新 DOM

标签 jquery ajax

假设我使用 jQuery 将新内容加载到特定的 DIV 元素中。如果我现在想从 DIV 元素内部捕获事件,我假设 DOM 必须以某种方式更新?处理这个问题的最佳方法是什么?

编辑:这是我的意思的一个例子:

<html>
  <head>
    <script type="text/javascript" src="jquery-1.3.2.min.js"></script>
    <script>
      $(document).ready(function(){
        $(".edit").click(function(){
          $(this).parent().load("edit");
        });
        $(".view").click(function(){
          $(this).parent().load("view");
        });
      });
    </script>
  </head>
  <body>
    <div class='someid'>
      <input type='submit' class='edit' value='Edit'>
    </div>
  </body>
</html>

同一级别的文件edit包含

<input type='submit' class='view' value='View'>

文件“ View ”包含

<input type='submit' class='edit' value='Edit'>

如果您尝试一下,您会发现当您第一次按“编辑”时,按钮会更改为“查看”,但随后它就不再改变了。这是为什么?

最佳答案

自 jQuery 1.7.x 起,.live() 方法已被弃用。使用 .on() 附加事件处理程序。如果您使用的是旧版本,则应优先使用 .delegate() 而不是 .live()

正如帮助中提到的,格式没有太大变化,如本示例所示:

$(selector).live(events, data, handler); // jQuery 1.3+
$(document).delegate(selector, events, data, handler); // jQuery 1.4.3+
$(document).on(events, selector, data, handler); // jQuery 1.7+

因此,从 1.7.x 开始,delegatelive 都已被 on 取代。

关于jquery - 在 jQuery 中插入后更新 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1550761/

相关文章:

javascript - 使用 JQuery ajax 在 DOM 操作后附加事件

php - 在 codeigniter Controller 中获取整个帖子主体

javascript - 使用jquery替换/操作html字符串中的元素

javascript - 如何在单击按钮时获取和输出里程表的当前值?

javascript - 在提交数据之前更改选择表单元素中的值

javascript - XMLHttpRequest 的空响应

php - 使用 AJAX 单击将 mysql 值加一?

c# - 使用 Web API Controller 解析传入的 JSON(来自 javascript Ajax post)

javascript - 如何在 D3 强制布局中将鼠标悬停在节点上时显示文本

javascript - 为什么我的 Node.js 应用程序会出现 404 状态?