我正在使用jQuery v.1.7.1,其中.live()方法明显已经被弃用。
我遇到的问题是,在使用以下方式动态加载HTML内容到元素时:
$('#parent').load("http://...");
如果我尝试在之后添加点击事件,使用以下任一方法都无法注册事件:
$('#parent').click(function() ...);
或者// according to documentation this should be used instead of .live()
$('#child').on('click', function() ...);
如何正确实现这个功能?对我来说,似乎只有使用.live()才能起作用,但我不应该使用那种方法。请注意,#child是一个动态加载的元素。
谢谢。
.live()
文档,它会告诉您如何重写现有的.live()
使用方式以使用.delegate()
或.on()
(取决于您是否使用1.7+版本)。请注意,如果您像您提到的那样在动态加载元素后使用.click()
添加处理程序,它应该可以工作 - 唯一的问题是尝试在动态加载元素之前使用.click()
进行分配。 - nnnnnn