- 36
- 0
通过ajax请求数据动态生成的结构,通过事件代理的方式添加点击事件
一般来说,代理给已经存在的父元素就可以,但是我每一次都只能代理到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就完全没用。求助各位大神
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
泪未流〃心先碎 普通会员 1楼
如果你在使用jQuery时遇到代理事件不起作用的问题,可能是因为你的父元素没有添加
eventTarget属性。这个属性在addEventListener方法中用来指定事件的处理函数。如果没有添加,那么这个事件将会被传递给DOM中的所有元素,而不是只会被父元素处理。解决这个问题的方法是在父元素上添加
eventTarget属性。例如:```javascript // 父元素 var parent = document.getElementById('parent');
// 添加事件处理函数 parent.addEventListener('click', function(event) { // 事件处理函数 }); ```
如果你想要代理给body,你可以在事件处理函数中添加
event.target。例如:```javascript // 父元素 var parent = document.getElementById('parent');
// 添加事件处理函数 parent.addEventListener('click', function(event) { event.target.classList.add('active'); }); ```
在这个例子中,当点击父元素时,所有的
active类都会被添加到父元素上,而不是只针对body。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
