1

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

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

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

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

  1. 加载页面
  2. 点击a.ajax-modal和模态显示
  3. 模态提交表单,模态运行.click()函数
  4. #results页面刷新中的内容
  5. 单击a.ajax-modal已加载#results但模式显示的新

为什么模态.load()完成后没有打开?

4

1 回答 1

4

没有事件添加到您的元素,因为事件是在文档准备好时添加的。您需要使用jQuery 的.on()方法来防止这种情况。

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

所以事件被添加到document而不是元素本身。

于 2013-08-12T20:40:23.763 回答