jQuery学习
jQuery的事件注册
on的三中优势
- 可以给一个对象绑定多个事件
- 可以实现事件的委派
- 可以给动态创建的元素绑定事件
语法on(events,[selector],[data],fn)
-
events:一个或多个用空格分隔的事件类型和可选的命名空间,- 如"click"或"keydown.myPlugin" 。
-
selector:一个选择器字符串用于过滤器的触发事件的选择器元素的后代。如果选择的< null或省略,当它到达选定的元素,事件总是触发。
-
data:当一个事件被触发时要传递event.data给事件处理函数。
-
fn:该事件被触发时执行的函数。 false 值也可以做一个函数的简写,返回false。
$(function(){
$('div').click(function(){
$(this).css('background','purple');
})
});
$(function(){
$('div').mouseenter(function(){
$(this).css('background','red');
})
});
//2、事件处理on
$('div').on({
mouseenter:function(){
$(this).css('background','blue');
},
click:function(){
$(this).css('background','red');
},
mouseleave:function(){
$(this).css('background','orange');
}
});
$('div').on('mouseenter mouseleave',function(){
$(this).toggleClass('current')
})
//(2)on可以实现事件的委派(委托)
//$('ul il').click
$('ul').on('click','li',function(){
alert(11);
})
//(3)on可以给动态创建的元素绑定事件
// $('ol li').click(function(){
// alert(11);
// })
//给ol 里面的li绑定click事件
$('ol').on('click','li',function(){
alert('11')
})
//利用冒泡事件
var li=$('<li>我是后来创建的</li>');
$('ol').append(li);
jQuery的拷贝
$.extend([deep],target,object1,[objectN])
1、deep:如果值为true就是深拷贝,默认false浅拷贝
2、target:要拷贝的目标对象
3、object1:待拷贝的第一个对象的对象
4、浅拷贝是把复杂数据类型的地址传入,深拷贝全部