jQuery .load()函数在.load()完成后打开模式

时间:2013-08-12 20:37:28

标签: ajax jquery

我正在使用jQuery的.load()方法和Loading Page Fragments。以下是我目前的代码:

$("#submit").click(function() {
    $("#results").load('/ajax/box/ #box');
});

此代码位于moda中,单击a.ajax-modal时会调用该代码。问题是,当.load()完成后,加载到a.ajax-modal的{​​{1}}中的#box无效...它不会打开模式而是只需打开一个新页面。似乎#results的内容未绑定/附加到任何事件处理程序。

以下是正在发生的事情的概述:

  1. 加载页面
  2. 点击#box和模态显示
  3. 以模态提交表单,在模态
  4. 中运行a.ajax-modal函数
  5. 页面刷新.click()中的内容
  6. 点击#results中加载的新a.ajax-modal,但模式显示
  7. 为什么在#results完成后模态没有打开?

1 个答案:

答案 0 :(得分:4)

您的元素未添加任何事件,因为文档准备就绪时会添加事件。您需要使用jQuery的.on()方法来防止这种情况。

$(function()
    $(document).on('click', 'a.ajax-modal', function() {
       // Your code here.
    });
});

因此事件被添加到document而不是元素本身。