用户交互操作中,最简单直接的操作就是点击操作,因此jQuery提供了一个mousedown的快捷方法可以监听用户鼠标按下的操作,与其对应的还有一个方法mouseup快捷方法可以监听用户鼠标弹起的操作。两种方法用法类似,下面以mousedown()为例
使用上非常简单:
方法一:$ele.mousedown()
绑定$ele元素,不带任何参数一般是用来指定触发一个事件,可能一般用的比较少
<div id="test">点击触发<div>
$("ele").mousedown(function(){
alert('触发指定事件')
})
$("#test").mousedown(function(){
$("ele").mousedown() //手动指定触发事件
});
方法二:$ele.mousedown( handler(eventObject) )
绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数
这样可以针对事件的反馈做很多操作了
<div id="test">点击触发<div> $("#test").mousedown(function() { //this指向 div元素 });
方法三:$ele.mousedown( [eventData ], handler(eventObject) )
使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题
<div id="test">点击触发<div> $("#test").mousedown(11111,function(e) { //this指向 div元素 //e.data => 11111 传递数据 });
mousedown事件触发需要以下几点:
mouseup事件触发需要以下几点:
另外需要注意的是:
click与mousedown的区别:
在右边代码32行处,填入任务代码
给页面第一个button元素绑定一个点击mousedown事件
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title></title> <style> .test2 { background: #bbffaa; } .test3 { background: yellow; } .test2, .test3 { border: 1px solid red; } </style> </style> <script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script> </head> <body> <h2>.mousedown()方法</h2> <h4>测试一</h4> <button>弹出回调中的鼠标键</button> <script type="text/javascript"> //this指向button元素 $("button:eq(0)").?(function(e) { alert('e.which: ' + e.which) }) </script> <h4>测试二</h4> <div class="test2"> <p>$('button:first').mousedown(function(e) {alert(this)})</p> </div> <button>指定触发事件</button> <script type="text/javascript"> $('p').mousedown(function(e) { alert(e.target.textContent) }) //this指向button元素 $("button:eq(1)").mousedown(function() { $('p').mousedown() //指定触发绑定的事件 }) </script> <h4>测试三</h4> <div class="test3"> <p>$('.right').mousedown(1111, set)</p> </div> <button>不同函数传递数据</button> <script type="text/javascript"> //不同函数传递数据 function data(e) { alert(e.data) //1111 } function a() { $("button:eq(2)").mousedown(1111, data) } a(); </script> </body> </html>