我正在使用jQuery v.1.7.1,显然不赞成使用.live()方法。
我遇到的问题是,使用以下方法将html动态加载到元素中时:
$('#parent').load("http://..."); 如果我尝试在之后添加click事件,则不会使用以下两种方法之一注册事件:
$('#parent').click(function() ...); 要么
// according to documentation this should be used instead of .live()
$('#child').on('click', function() ...); 实现此功能的正确方法是什么?它似乎只对.live()有效,但我不应该使用该方法。请注意,#child是动态加载的元素。
谢谢。
.live()它会告诉您如何重写.live()use .delegate()或.on()(取决于您是否在1.7+版本上)的现有用法。但是请注意,如果您添加一个带有.click()“ afterwards” 的处理程序,即在动态加载元素之后,它应该可以工作-唯一的问题是.click() 在动态加载元素之前尝试分配。