事件
事件注册
<script>
$(function() {
//1.单个事件注册
$("div").click(function() {
$(this).css("background","purple");
});
$("div").mouseenter(function() {
$(this).css("background","skyblue");
});
})
</script>
事件绑定
优势一:简化写法
$("div").on({
mouseenter:function() {
$(this).css("background","skyblue");
},
click:function() {
$(this).css("background","purple");
}
});
如果操作是一样的 则另外写一个类current存更改的样式
$("div").on("mouseenter mouseleave",function() {
$(this).toggleClass("current");
})
优势二:on可以事件委派操作 事件委派的定义就是 把原来加给子元素身上的事件绑定在父元素身上 就是把事件委派给父元素
优势三:on可以给动态创建的元素绑定事件
新增的li没有办法绑定事件
$(function() {
$("ol li").click(function() {
alert(11);
})
var li = $("<li>我是后来创建的</li>");
$("ol").append(li);
})
用on可以给未来动态创建的元素绑定事件
事件解绑
$("div").off();解除div的所有事件
$("div").off("click");只解除点击事件
one()只能触发事件一次
$("p").one("click",function() {
alert(11);
})
自动触发事件
有些事情需要自动触发 不需要鼠标点击等操作
1.元素.事件()
2.
3.不同之处:不会触发元素的默认行为
事件对象
jQuery的其他方法
拷贝对象
会覆盖以前的数据
deep:
false 浅拷贝 是把拷贝对象复杂数据类型中的地址拷贝给目标对象 修改目标对象会影响拷贝对象
true 深拷贝 完全克隆 修改目标对象不会影响拷贝对象
多库共存
jQuery使用$作为标识符 随着jQuery的流行 其他js库也会用到这个作为标识符 这样一起用的时候会产生冲突
需要一个解决方案 让jQuery和其他js库之间不存在冲突可以同时存在 这就叫做多库共存
解决方案
var suibian = $.noConflict();
suibian("span");就获取过来span了
插件
瀑布流
懒加载:用户看到哪里(可视区域) 页面加载到哪里 提高加载速度和减少服务器的压力
bootstrap插件:
<script src="jquery.min.js"></script>
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
ECharts基本使用
echarts使用