鍍金池/ 問答/HTML/ jQuery事件代理給父元素不起作用,代理給body就可以

jQuery事件代理給父元素不起作用,代理給body就可以

通過ajax請求數(shù)據(jù)動態(tài)生成的結構,通過事件代理的方式添加點擊事件
一般來說,代理給已經存在的父元素就可以,但是我每一次都只能代理到body上才會生效,父元素上沒有效果,求解,很疑惑,找不到原因。
貼一段簡單的實驗代碼

jQuery('body').on('click','ul li',function(){
    alert(1);
});
var html = '<li>111111111111</li>';
jQuery('ul').html(html);

body就可以生效

jQuery('ul').on('click','ul li',function(){
    alert(1);
});
var html = '<li>111111111111</li>';
jQuery('ul').html(html);

代理給ul就完全沒用。求助各位大神

回答
編輯回答
怣痛

你可以把ul li 寫成 ul>li

2017年3月27日 16:19
編輯回答
赱丅呿

第二個選擇器里面不要寫ul,只寫li試試。

2018年4月20日 18:59
編輯回答
瘋浪
jQuery('ul').on('click','li',function(){
    alert(1);
});
var html = '<li>111111111111</li>';
jQuery('ul').html(html);
2017年3月21日 05:33