jquery 事件操作
1.jquery的页面加载完成之后是浏览器的内核解析完页面的标签创建好Dom对象之后会马上执行
2.原生js的页面加载完成 之后,处理要等浏览器内核解析完标签创建好dom对象,还要等标签显示时需要的内容加载完成
3.原生js只执行最后一次
4.jquery依次执行触发
事件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| $(function(){ //*1.通常绑定事件的方式 //给元素绑定事件 //jquery对象.事件方法(回调函数(){ 触发事件执行的代码 }).事件方法(回调函数(){ 触发事件执行的代码 }).事件方法(回调函数(){ 触发事件执行的代码 }) //绑定事件可以链式操作 $(".head").click(function(){ $(".content").toggle(); }).mouseover(function(){ $(".content").toggle(); }); //*2.jQuery提供的绑定方式:bind(type,[data],fn)函数把元素和事件绑定起来 //type表示要绑定的事件 [data]表示传入的数据 fn表示事件的处理方法 //bind(事件字符串,回调函数),后来添加的元素不会绑定事件 //使用bind()绑定多个事件 type可以接受多个事件类型,使用空格分割多个事件 /* $(".head").bind("click mouseover",function(){ $(".content").toggle(); }); */ //3.one()只绑定一次,绑定的事件只会发生一次one(type,[data],fn)函数把元素和事件绑定起来 //type表示要绑定的事件 [data]表示传入的数据 fn表示事件的处理方法 /* $(".head").one("click mouseover",function(){ $(".content").toggle(); }); */
//4.live方法会为现在及以后添加的元素都绑定上相应的事件 /** $(".head").live("click",function(){ $(".content").toggle(); }); $("#panel").before("<h5 class='head'>什么是jQuery?</h5>"); */ });
|
事件冒泡
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| 父子元素同时监听一个事件,触发子元素也被传递到父元素里去 <script type="text/javascript" src="jquery-1.7.2.js"></script> <script type="text/javascript"> //当我们发生一个事件以后,某个事件其实就是一个对象。事件对象 //使用jquery获取事件对象,在回调函数中传入event参数,event是jquery定义好的一个变量 $(function(){ $("#areaDiv").mousemove(function(event){ $("#showMsg2").text("x="+event.screenX+" y="+event.screenY) }) }) window.onload = function(){ //使用js获取事件对象 var areaDiv = document.getElementById("areaDiv"); var showMsg = document.getElementById("showMsg"); //同样是将event传入回调函数 areaDiv.onmousemove = function(event){ var x = event.pageX;//当前页面的坐标 var y = event.pageY;//Y showMsg.innerHTML = "x="+x+" y="+y; }; }
|
图片跟随
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <style type="text/css"> body { text-align: center; } #small { margin-top: 150px; } #showBig { position: absolute; display: none; } </style> <script type="text/javascript" src="script/jquery-1.7.2.js"></script> <script type="text/javascript"> $(function(){ $("#small") .mouseover(function(event){ $("#showBig") .show() .css("left",event.pageX+10) .css("top",event.pageY+10); }) .mousemove(function(event){ $("#showBig") .css("left",event.pageX+10) .css("top",event.pageY+10); }) .mouseout(function(){ $("#showBig").hide(); }); }); </script> </head> <body>
<img id="small" src="img/small.jpg" /> <div id="showBig"> <img src="img/big.jpg"> </div>
</body> </html>
|