2-4 jQuery鼠标事件之mouseover与mouseout事件
本节编程练习不计算学习进度,请电脑登录imooc.com操作

jQuery鼠标事件之mouseover与mouseout事件

在学JS的时候,大家还记得有两个方法叫移入移出事件吗?onmouseover()与onmouseout()事件~

jQuery当中同样提供了这样的事件来监听用户的移入移出操作,mouseover()与mouseout()事件,两者用法类似,下面一mouseover为例:

方法一:$ele.mouseover()

绑定$ele元素,不带任何参数一般是用来指定触发一个事件,用的比较少

<div id="test">点击触发<div>
$("ele").mouseover(function(){
    alert('触发指定事件')
})
$("#test").click(function(){
     $("ele").mouseover()  //指定触发事件 
});

方法二:$ele.mouseover( handler(eventObject) )

绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数

这样可以针对事件的反馈做很多操作了

<div id="test">滑动触发<div>
$("#test").mouseover(function() {
    //this指向 div元素 
});

方法三:$ele.mouseover( [eventData ], handler(eventObject) )

使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题

<div id="test">点击触发<div>
$("#test").mouseover(11111,function(e) {
    //this指向 div元素
    //e.data  => 11111 传递数据
});

具体使用可以参考右边的代码

任务

  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  6. <title></title>
  7. <style>
  8. .left div,
  9. .right div {
  10. width: 350px;
  11. height: 150px;
  12. padding: 5px;
  13. margin: 5px;
  14. border: 1px solid #ccc;
  15. }
  16. p{
  17. height: 50px;
  18. border: 1px solid red;
  19. margin: 30px;
  20. }
  21. .left div {
  22. background: #bbffaa;
  23. }
  24. .right div {
  25. background: yellow;
  26. }
  27. </style>
  28. <script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script>
  29. </head>
  30.  
  31. <body>
  32. <h2>mouseover与mouseout事件</h2>
  33.  
  34. <h4>测试一</h4>
  35. <button>点击:指定触发mouseover事件</button>
  36. <script type="text/javascript">
  37. $('h2').mouseover(function(e) {
  38. alert('触发h2元素绑定的mouseover')
  39. })
  40. $("button:eq(0)").click(function(e) {
  41. $('h2').mouseover() //指定触发绑定的事件
  42. })
  43. </script>
  44.  
  45.  
  46. <h4>测试二</h4>
  47. <div class="left">
  48. <div class="aaron1">
  49. <p>鼠标移进此区域触发mouseover事件</p>
  50. <a>进入元素内部,mouseover事件触发次数:</a>
  51. </div>
  52. </div>
  53. <script type="text/javascript">
  54. var n = 0;
  55. //绑定一个mouseover事件
  56. $(".aaron1 p:first").mouseover(function(e) {
  57. $(".aaron1 a").html('进入元素内部,mouseover事件触发次数:' + (++n))
  58. })
  59. </script>
  60.  
  61.  
  62. <h4>测试三</h4>
  63. <div class="right">
  64. <div class="aaron2">
  65. <p>鼠标移动:不同函数传递数据</p>
  66. <a>进入元素内部,mouseover事件触发次数:</a>
  67. </div>
  68. </div>
  69. <br/>
  70. <script type="text/javascript">
  71. var n = 0;
  72. //不同函数传递数据
  73. function data(e) {
  74. $(".right a").html('mouseover事件触发次数:' + (++n) + '<br/> 传入数据为 :'+ e.data)
  75. }
  76.  
  77. function a() {
  78. $(".right p:first").mouseover('data = 慕课网', data)
  79. }
  80. a();
  81.  
  82. </script>
  83. </body>
  84.  
  85. </html>
  86.  
下一节