
1.1 事件冒泡:事件从里向外,从下级向上级传递的过程,儿子传给父亲,父亲传给爷爷。
点击儿子元素的块盒在d出son之后又d出父元素father
在企业开发中,有时我们需要子元素执行某种功能,但不需要父元素执行,这个时候我们就需要用到阻止事件冒泡的产生。
阻止事件冒泡的有两种方式
1.2 默认行为:用户某些动作后,标签自动发生的行为。
$('a').click(function (){
alert('d出注册框');
});
注册
阻止默认行为的两种方式
$('a').click(function (event){
alert('d出注册框');
//阻止默认行为的两种方式
// return false;
event.preventDefault();
});
注册
2.事件自动触发
注册
3.自定义事件
想要自定义事件,必须满足两个条件
1.事件必须是通过on绑定的
2.事件必须通过trigger来触发
$('.son').on('myclick',function (){
alert('son');
});
$('.son').trigger('myclick');
4.事件命名空间
1.利用trigger触发子元素带命名空间的事件,那么父元素带相同命名空间的事件也会被触发,而父元素没有命名空间的事件不会被触发
2.利用trigger触发子元素不带命名空间的事件,那么子元素所有相同类型的事件和父元素所有相同类型的事件都会被触发
$('.son').on('click.zs',function (){
alert('click1');
});
$('.father').on('click.ls',function (){
alert('father click1')
});
$('.son').on('click.ls',function (){
alert('son click2');
});
$('.son').trigger('click.ls');
5.事件委托
请别人帮忙做事情,然后将做完的结果反馈给我们
$('button').click(function (){
$('ul').append('我是新增的li');
});
/*
在jQuery中,如果通过核心函数找到的元素不止一个,那么在添加事件的时候,jQuery会遍历所有找到的元素,给所有找到的元素添加事件
*/
$('ul>li').click(function (){
console.log($(this).html());
});
// $('ul').delegate('li','click',function (){
// console.log($(this).html());
// });
我是第1个li
我是第2个li
我是第3个li
上一篇:
https://blog.csdn.net/qq_53123067/article/details/124535267?spm=1001.2014.3001.5502
下一篇:
未完待续....
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)