在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
事件代理如何使用?代码怎么写?事件代理就是把一个元素响应事件(click、keydown…)的函数委托到另一个元素。在 JavaScript中的事件委托又称事件代理,事件委托就是利用事件冒泡,只指定一个事件处理程序管理某一类型的所有事件。
学习目标:能够知道事件代理的使用方式
1. 什么是事件代理?
事件代理就是利用事件冒泡的原理(事件冒泡就是事件会向它的父级一级一级传递),把事件加到父级上,通过判断事件来源,执行相应的子元素的操作,事件代理首先可以极大减少事件绑定次数,提高性能;其次可以让新加入的子元素也可以拥有相同的操作。
事件冒泡代码:
<script>
$(function(){
var $div1 = $('#div1');
var $div2 = $('#div2');
$div1.click(function(){
alert($(this).html());
});
$div2.click(function(){
alert($(this).html());
});
});
</script>
<div id="div1" style="width:200px; height:200px; background: red;">
<div id="div2" style="width:100px; height:100px;background: yellow;">
哈哈
</div>
</div>
说明:当点击子元素div,它的点击事件会向它父元素传递,也会触发了父元素的点击事件,这就是事件冒泡。
2. 事件代理如何使用?
一般绑定事件的写法:
$(function(){
$ali = $('#list li');
$ali.click(function() {
$(this).css({background:'red'});
});
})
<ul id="list">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
事件代理的写法:
$(function(){
$list = $('#list');
// 父元素ul 来代理 子元素li的点击事件
$list.delegate('li', 'click', function() {
// $(this)表示当前点击的子元素对象
$(this).css({background:'red'});
});
})
<ul id="list">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
delegate方法参数说明:delegate(childSelector,event,function)
childSelector: 子元素的选择器
event: 事件名称,比如: 'click'
unction: 当事件触发执行的函数
3. 事件代理小结
事件代理就是使用父元素来代理子元素的事件,好处是减少事件的绑定次数,提高性能。场景当多个相同的子元素绑定同一个事件可以使用事件代理。事件代理使用是使用delegate方法来完成
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Docker是什么?Docker大科普
Docker是什么?大家都清楚在现在这个时代,技术更新迭代发展很快,容器化技术更是发展的一个趋势,今天带大家认识一下应用容器引擎Docker。
5871
2019-07-23 18:52:17
Python和C语言哪个难?零基础学哪个好?
Python和C语言哪个难?零基础学哪个好?Python上手简单有交互性强的开发环境,还有众多的第三方库,学习起来会比C/C++容易的多。C过于底层强在内存操作,功能实现起来却十分复杂并不适合新手作为上手语言。
13926
2019-08-07 15:50:54
学习Python后能找什么工作
想学习Python的小伙伴们,肯定听到非常多关于Python就业方向非常广泛的话题。那到底学习完成后,能够从事哪些方面的工作呢?具体相关Python的工作岗位有哪些呢?带着问题我们一起深入了解一下Python的就业前景。
3736
2020-05-15 18:02:44
Python运算符总结
所有的编程语言本质就是在解决运算逻辑,通过各种算法实现想要的各种功能,因此在学习Python编程语言时,不仅要掌握各种变量类型,深刻理解函数式编程的原理,还要彻底搞懂各类运算符的使用。通过本片文章你可以了解到在Python编程开发中的各类运算符以及其使用方法。
3405
2020-06-08 16:31:37
Pyhton数据结构列表在线学习
在Python中,列表(Lists)是很常见的数据结构。今天我们要来在线学习列表的相关知识点,主要内容有列表常用操作方法、堆栈、队列、列表推导、列表内置推导以及del表达式。一起来看看吧~
2404
2020-07-08 11:57:33