时间:2021-05-18
其所谓的动态添加事件实质就是指js中的事件委托。
我们知道在js中,事件处理只能绑定在当前被选中的元素上,换句话也就是说,事件处理只能绑定在当前文档已经存在的元素上!但是,往往小伙伴们都会遇到一个问题就是,我的元素是后来动态添加到页面的,而我又想给该元素绑定事件,怎么处理?
为了说明白这一问题,我们假设需要给后来添加到当前页面的元素添加click事件。
解决这一问题的核心就是利用js的委托事件。委派事件的优势就是可以给未存在的元素绑定事件,而且委派事件往往开销也会更小!
题外话:举一个最简单的例子:当页面上有1000个div的时候,如果直接给div绑定click事件,其会为1000个元素绑定事件。但是,如果用事件委托,只需要一个元素绑定事件即可。PS:希望啰里啰嗦能够让你明白事件委托的含义。
我们只是想知道动态创建的元素如何添加事件,你说这么多做什么,做什么...
好吧,言归正传,看具体实现:
// 模拟动态创建元素li$.ajax({ type: 'get', data: {}, success: function () { $('<li>').addClass('aaa').html('11111111').appendTo($('body')); },});// 给为我们刚刚动态创建的元素添加事件$(document).on('click', 'li[class=aaa]', function(){ console.log('ddd');});以上这篇老生常谈js动态添加事件--- 事件委托就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
给动态添加的元素添加js事件,不能直接添加js事件,需要借助on()方法,给选择器指定的子元素添加事件处理函数,并非选择器本身;1.语法$(selector).
本文实例讲述了JS实现动态添加DOM节点和事件的方法。分享给大家供大家参考,具体如下:运行效果图如下:完整实例代码如下:Js(DOM)动态添加节点和事件func
本文实例讲述了JS中的事件委托。分享给大家供大家参考,具体如下:事件委托(也叫事件代理),其实这个问题也简单,要想弄明白事件委托,我们先要把事件冒泡的机制搞清楚
JavaScript事件代理(委托)一般用于以下情况:1.事件注册在祖先级元素上,代理其子级元素。可以减少事件注册数量,节约内存开销,提高性能。2.对js动态添
WEB项目中,我们常常会碰到要动态对相应的对象添加事件,如下,有id="txtPrice"的文本框控件:现在我们为其动态添加一事件,JS核心代码如下:docum