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

jQuery鼠标事件之mousemove事件

用交互操作中,经常需要知道用户是否有移动的操作。基于移动的机制可以做出拖动、拖拽一系列的效果出来。针对移动事件,jQuery提供了一个mousemove的快捷方法可以监听用户移动的的操作

使用上非常简单:

方法一:$ele.mousemove()

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

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

 

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

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

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

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

 

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

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

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

 

mousemove事件触发需要以下几点:

 

任务

  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: 300px;
  11. height: 80px;
  12. padding: 5px;
  13. margin: 5px;
  14. border: 1px solid #ccc;
  15. }
  16.  
  17. .left div {
  18. background: #bbffaa;
  19. }
  20.  
  21. .right div {
  22. background: yellow;
  23. }
  24. </style>
  25. <script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script>
  26. </head>
  27.  
  28. <body>
  29. <h2>.mousemove()方法</h2>
  30. <h4>测试一</h4>
  31. <button>点击:指定触发mousemove事件</button>
  32. <script type="text/javascript">
  33. $('h2').mousemove(function(e) {
  34. alert('触发h2元素绑定的mousemove')
  35. })
  36.  
  37. $("button:eq(0)").click(function(e) {
  38. $('h2').mousemove() //指定触发绑定的事件
  39. })
  40. </script>
  41.  
  42.  
  43. <h4>测试二</h4>
  44. <div class="left">
  45. <div class="aaron1">
  46. <p>鼠标在绿色区域移动触发mousemove</p>
  47. <p>移动的X位置:</p>
  48. </div>
  49. </div>
  50. <script type="text/javascript">
  51. //绑定一个mousemove事件
  52. //触发后修改内容
  53. $(".aaron1").mousemove(function(e) {
  54. $(this).find('p:last').html('移动的X位置:' + e.pageX)
  55. })
  56. </script>
  57.  
  58.  
  59. <h4>测试三</h4>
  60. <div class="right">
  61. <div class="aaron3">
  62. <p>鼠标移动:不同函数传递数据</p>
  63. <p>数据:</p>
  64. </div>
  65. </div>
  66. <script type="text/javascript">
  67. //不同函数传递数据
  68. function data(e) {
  69. $(this).find('p:last').html('数据:' + e.data)
  70. }
  71.  
  72. function a() {
  73. $(".right").mousemove(1111, data)
  74. }
  75. a();
  76. </script>
  77. </body>
  78.  
  79. </html>
  80.  
下一节