我正在使用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()
在动态加载元素之前尝试分配。