2010-05-14 78 views
1

好吧,有一点棘手(对我来说,无论如何,我在jQuery/JavaScript中相当垃圾)。使用jQuery来侦听未使用jQuery加载的AJAX负载。AJAX

我使用标准的AJAX数据拉(即不使用像jQuery框架或诸如此类的东西...有它的一个原因)

然而,然后我需要加载一个jQuery脚本一旦页面被加载进去,所以,这里是一个问题,DOM更新后如何绑定脚本?我一直在使用Ariel Fleser的监听插件(http://flesler.blogspot.com/2007/10/jquerylisten.html),用于处理诸如点击这样的事件,但是我无法看到如何使用监听进行加载事件。

任何想法?我很难过这个!

+0

正如Matt在下面所述,“不使用jQuery中提供的AJAX功能的原因是什么?” – 2010-05-14 09:53:58

回答

2

出了什么问题:

yourXMLHTTPRequest.onreadystatechange = function() { 
    if (this.readyState == 4) { 
     doJQueryStuff(); 
    } 
} 

而且,什么是不使用jQuery中提供的AJAX功能的原因是什么?

顺便说一句,它看起来像插件,你刚才提到在复制1.4

+0

Duh,我完全没有想到那个!可能是因为我感觉非常恶心!尽管欢呼快速反应,但尽力了! 不使用jQuery AJAX位的原因刚好偏好,它适用于大型系统。我确实研究过它,但发现它不太适合需要的东西。 – rich 2010-05-14 09:58:05

+0

我有同样的问题,但对于自我解决方案,我如何找出“yourXMLHTTPRequest”是什么?不能真正潜入已编写的代码中,但只是想在调用完成后触发一个方法 – 2012-06-06 15:45:52

1

被带入的jQuery的live()delegate()方法给出为了解析通过AJAX加载的javascript功能,你需要使用eval()函数。虽然,就这些事情而言,很多编码者认为eval()是,嗯,邪恶......(a link,another link)。

无论eval的正确与否,webdeveloper上的this thread都应该为您提供解决方案。

+0

这是非常有趣的东西,不能说我特别擅长javascript。尽管现在我已经设法做到了我所需要的 – rich 2010-05-14 10:15:20