动态内容中的JavaScript脚本
我有个问题。我有一个带有动态内容的web应用程序,所以浏览器中的URL总是/index.php。我想在其中添加一些脚本,但它们讨论将要创建的元素,例如一些div。FireBug向我抛出一个元素为空的错误,例如$'div1。当我在加载的视图中附加这些脚本时,它们无法工作,因为它们需要获取document.ready事件。如何使这些脚本被激活动态内容中的JavaScript脚本,javascript,jquery,Javascript,Jquery,我有个问题。我有一个带有动态内容的web应用程序,所以浏览器中的URL总是/index.php。我想在其中添加一些脚本,但它们讨论将要创建的元素,例如一些div。FireBug向我抛出一个元素为空的错误,例如$'div1。当我在加载的视图中附加这些脚本时,它们无法工作,因为它们需要获取document.ready事件。如何使这些脚本被激活 $(function(){//shorthand for document.ready $('#div1').on("click",function(){
$(function(){//shorthand for document.ready
$('#div1').on("click",function(){
//do something
});
});
不适合你吗?如果您使用的是较低版本的jQuery 1.7-请使用.bind而不是.on如何绑定事件处理程序?如果您使用的是jQuery1.7+,您应该使用.on'event',处理程序,它应该处理动态添加的元素,即$document.readyas上不存在的内容 jQuery的早期版本通过使用.live'event',handler提供相同的功能 见:和
编辑:正如@gdoron所添加的,jQuery 1.4.2还增加了使用.delegate:-然而,与.live一样,jQuery 1.7+应该认为它已被弃用显示一些代码,或者任何有助于其他人理解您所做的事情的特定内容$..clickfunction{…}有什么问题?var$j=jQuery.noConflict$jdocument.readyfunction{$calendar.on'click',function{alert'OK!';};};因为当文档准备就绪时元素不可用,并且您尝试为它们添加事件侦听器时,将找不到该元素。单击不起作用。问题是所有脚本都不会启动。我还必须补充,我在这里也使用mootools,所以我写了noConflict方法。@kubuscmg你能给问题添加代码吗?在on和live之间有委托函数!live不是1.4.4版之后的那个人@格多龙:好的,我要补充一点。但从未真正使用过代理。。。