我正在使用ASP.NET MVC Framework,jQuery和Ajax调用来根据客户端输入做一些部分视图渲染,我的问题是部分视图所需的一些脚本依赖于ready
事件,由jQuery提出。
正在加载视图中的外部和开启脚本而没有问题,但是由于页面已经加载,因此永远不会触发ready事件。
有没有办法预处理脚本(使用$.ajax
加载async
属性设置为false
)并执行某事来获取准备开火的事件?
要么或者应该看一种方法来通知主页有一个需要运行的方法,换句话说,创建一个框架,用于在使用Ajax从服务器中提取时动态调用初始化方法并使用当它们作为页面的一部分出现时的准备事件?
谢谢,
基隆
答案 0 :(得分:0)
您是否需要触发就绪事件,因为您需要将行为附加到刚刚加载的内容上?
如果是这样,你可以使用.live()函数或livequery插件。
使用两者,您可以根据选择器预定义行为是否存在与选择器匹配的事物。当加载匹配项时,它们将自动承担该行为。
对于更复杂的事情,livequery插件会触发一个事件,让您知道添加了与您的选择器匹配的新内容,让您运行所需的任何代码。 这将允许您将所有相关代码保存在一个.js文件中,而不是在一堆部分视图之间传播。
内置的live()函数: http://api.jquery.com/live/
livequery插件: http://plugins.jquery.com/project/livequery/
答案 1 :(得分:0)
事实证明,问题是我的(标签问题的排序)。 redsquare帮助解决问题/指出正确的方向 - 所以归功于他。
有关详细信息,请参阅有关问题的评论。