如题:jq使用on()绑定动态生成元素的事件未生效!!!
jq的on()方法可以绑定动态生成元素的事件,但在实际使用时未生效。
例如:
<p>
<a>123</a>
</p>
使用如下方式,对静态元素有效,但是绑定动态生成的a元素的事件时无效:
$('a').on('mouseenter',function(){
// TODO:
});
此时需要绑定a元素的父元素,此元素必须为静态元素,而非动态生成的(事件委托),然后设定on()方法的selector参数才行:
$('p').on('mouseenter','a',function(){
// TODO:
});
参考代码:
$('#J_static').on('click','.static_item', (e) => {
console.log($(e.target));
const item_id = $(e.target).parents(".static_item").attr("data-iid");
const position = '';
sendClick('点击', {
item_id,
position
})
//location.href = `//m.beibei.com/n/group/detail.html?iid=${item_id}&beibeiapp_info={"target":"bb/base/product","iid":"${item_id}"}`;
})