jQuery选择器和事件

1)选择器

   $(".className")——类选择器;

   $("#IDName")——ID选择器;

   $("ElementTagName")——元素名选择器;

   更多选择器点击打开链接

2)事件

   click()——点击事件;

   dblclick()——双击事件;

   mouseenter()——鼠标进入事件;

   mouseleave()——鼠标离开事件;

   更多事件点击打开链接

3)事件的绑定和解绑

   bind()、on()——事件绑定;

   unbind()、off()——事件解绑;

   注意on()、off()需要在jQuery1.7版本以上;

[html]  view plain copy
  1. <button id="btn1">事件绑定</button>  
[javascript]  view plain copy
  1. <pre name="code" class="javascript">$(document).ready(function(){  
  2.     $("#btn1").bind("click",clickHandler);  
  3.     $("#btn1").bind("click",clickHandler2);  
  4.     $("#btn1").unbind("click",clickHandler2);  
  5. });  
  6.   
  7. function clickHandler(e){  
  8.     console.log(e.target.innerHTML);  
  9.   
  10. }function clickHandler2(e){  
  11.     console.log(e.target.id);  
  12. }  

 
4)事件的目标 

currentTarget与target的区别:

1、target发生在事件流的目标阶段,而currentTarget发生在事件流的整个阶段(捕获、目标和冒泡阶段);
2、只有当目标流处于目标阶段的时候才相同;
3、而当事件流处于捕获和冒泡阶段时,target指向被点击的对象,而currentTarget指向当前事件活动的对象,通常是事件的祖元素。

5)事件的冒泡

event.stopImmediatePropagation()——阻止所有元素的事件冒泡;

event.stopPropagation()——阻止父级元素的事件冒泡;

[html]  view plain copy
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head lang="en">  
  4.     <meta charset="UTF-8">  
  5.     <title>Dom元素的设置</title>  
  6.     <script src="jquery-1.11.2.min.js"></script>  
  7.     <script src="eventTarget.js"></script>  
  8.     <style type="text/css">  
  9.         #div1{  
  10.             width:200px;  
  11.             height: 200px;  
  12.             background-color: #0088bb;  
  13.         }  
  14.         #div1 ul{  
  15.             list-style-type: none;  
  16.         }  
  17.     </style>  
  18. </head>  
  19. <body>  
  20. <div id="div1">  
  21.     <ul>  
  22.         <li>广州恒大</li>  
  23.         <li>山东鲁能</li>  
  24.         <li>上海上港</li>  
  25.         <li>北京国安</li>  
  26.         <li>上海申花</li>  
  27.     </ul>  
  28. </div>  
  29.   
  30. </body>  
  31. </html>  
eventTarget.js的代码:

[javascript]  view plain copy
  1. $(document).ready(function(){  
  2.     $("body").bind("click",bodyHandler);  
  3.     $("div").bind("click",divHandler);  
  4.     $("div").bind("click",divHandler2);  
  5. });  
  6.   
  7. function bodyHandler(e){  
  8.     //currentTarget:body; target:div  
  9.     console.log(e);  
  10. }  
  11.   
  12. function divHandler(e){  
  13.     //currentTarget:div; target:div  
  14.     console.log(e);  
  15.     //阻止父级元素的冒泡  
  16.     //e.stopPropagation();  
  17.     //阻止所有元素的冒泡  
  18.     e.stopImmediatePropagation();  
  19. }  
  20. function divHandler2(e){  
  21.     console.log(e);  
  22. }  

6)自定义事件:

jQuery.Event("myEvent")——指定自定义事件的类型为myEvent;

$(selector).trigger(event,[param1,param2])——规定被选元素触发的事件;

第一种书写方式:

[javascript]  view plain copy
  1. //给element绑定hello事件  
  2. element.bind("hello",function(){  
  3.     alert("hello world!");  
  4. });  
  5.          
  6. //触发hello事件  
  7. element.trigger("hello");  
第二种书写方式:
[html]  view plain copy
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head lang="zh-CN">  
  4.     <meta charset="UTF-8">  
  5.     <title>trigger demo</title>  
  6.     <script src="jquery-1.11.2.min.js"></script>  
  7.     <script src="myEvent.js"></script>  
  8. </head>  
  9. <body>  
  10. <button id="btn">click me</button>  
  11.   
  12. </body>  
  13. </html>  
myEvent.js代码:

[javascript]  view plain copy
  1.     //自定义事件  
  2. var btn;  
  3. $(document).ready(function(){  
  4.     btn=$("#btn");  
  5.     btn.click(function(){  
  6.         //自定义事件类型  
  7.         var e=jQuery.Event("myEvent");  
  8.         //触发自定义事件  
  9.         btn.trigger(e);  
  10.     });  
  11.     //绑定自定义事件  
  12.     btn.on("myEvent",function(e){  
  13.         console.log(e);  
  14.     });  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值