使用 load() 加载同样使用 jQuery 的页面
Posted
技术标签:
【中文标题】使用 load() 加载同样使用 jQuery 的页面【英文标题】:using load() to load page that also uses 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 事件? 您需要澄清您的问题 - 给我们一些示例代码(调用页面、被调用等)以便我们提供帮助。 【参考方案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/
【讨论】:
以上是关于使用 load() 加载同样使用 jQuery 的页面的主要内容,如果未能解决你的问题,请参考以下文章
通过 .load() 加载数据后使用 JQuery UI 的 sortable('serialize');