我举个例
$('p a').click(function(){});
这种情况下,在定义这句话之前,p a就必须存在,如果a是之后动态渲染出来的,这句话就不知道p a是什么
$('p').on('click', 'a', function(){});
这种情况,只需要定义这句话之前,p存在就行了,其实这句话是意思是,点击p就响应,但是要判断是否点在a上,是就执行后面的function,不是就不执行,这个判断是点了之后才判断的,所以只要点的时候有a就行了,最初有没有a都无所谓。
$('p a').click(function(){});
这种情况下,在定义这句话之前,p a就必须存在,如果a是之后动态渲染出来的,这句话就不知道p a是什么
$('p').on('click', 'a', function(){});
这种情况,只需要定义这句话之前,p存在就行了,其实这句话是意思是,点击p就响应,但是要判断是否点在a上,是就执行后面的function,不是就不执行,这个判断是点了之后才判断的,所以只要点的时候有a就行了,最初有没有a都无所谓。