【问题标题】:using load() to load page that also uses jQuery使用 load() 加载同样使用 jQuery 的页面
【发布时间】:2010-09-09 00:36:38
【问题描述】:

我正在尝试加载一个页面,该页面基本上是一个编辑表单 对话框(ui.dialog)。我可以从外部加载这个页面(我是 使用 asp.net) 页面。

问题是在我的“弹出”表单中,我需要在页面加载时使用$(function() {my function here}); 语法来做一些事情, 以及为一些动态下拉列表注册一些.fn 扩展 使用 ajax 调用。

我已经创建了我的<script type="text/javascript" src="jquery.js"> 但是 我不认为这些被包括在内,我的$(function) 也不包括在内 被调用。

这可能吗,或者我需要找到另一种方法吗? 完成我需要做的事情?

【问题讨论】:

  • 你是说需要弹出表单层中的jQuery文档加载事件来执行吗?所以,换句话说,你正在将一个完整的 HTML 页面加载到一个 DIV 弹出窗口中,但是你正在加载的那个页面没有执行 load 事件?
  • 您需要澄清您的问题 - 给我们一些示例代码(调用页面、被调用等)以便我们提供帮助。

标签: javascript jquery jquery-ui jquery-ui-dialog jquery-ui-plugins


【解决方案1】:

如果您确实需要通过 AJAX 加载该表单,您可以在 $.ajax 回调本身中执行所有 Javascript 内容。 因此,您可以像这样加载弹出表单:

$.ajax({
   //...
   success: function(text) {
       // insert text into container
       // the code from $(function() {});
   }
});

【讨论】:

    【解决方案2】:

    脚本没有运行,因为文档的 ready 事件已被触发。从

    中删除您的代码
    $()
    

    【讨论】:

    • 如果 ready 已经被触发,对 $(function() {}) 的调用将立即触发
    【解决方案3】:

    使用 livequery 插件。

    它允许您将事件绑定到稍后可能加载的元素:http://brandonaaron.net/docs/livequery/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-14
      相关资源
      最近更新 更多