返回值:jQuerymousedown(handler(eventObject))
为 JavaScript 的 "mousedown" 事件绑定一个处理函数,或者触发元素上的该事件。
-
1.0 新增mousedown(handler(eventObject))
handler(eventObject) (Function) 每当事件触发时执行的函数。 -
1.4.3 新增mousedown([eventData], handler(eventObject))
eventData (Object) 可选参数,将要传递给事件处理函数的数据映射。handler(eventObject) (Function) 每当事件触发时执行的函数。 -
1.0 新增mousedown()
带有参数的该方法是 .bind('mousedown', handler)
的快捷方式 variation, and .trigger('mousedown')
in the second.
当鼠标在元素上发生了点击动作,就会触发 mousedown
事件。任何 HTML 元素都可以接收该事件。
举例来说,请看下面的HTML:
<div id="target"> Click here </div> <div id="other"> Trigger the handler </div>
该事件可以绑定在任何 <div>
上:
$('#target').mousedown(function() { alert('Handler for .mousedown() called.'); });
现在,当你在元素上点击了鼠标,就会显示如下的提示框:
Handler for .mousedown() called.
我们也可以通过点击其它元素,手动触发另一个元素上的该事件:
$('#other').click(function() { $('#target').mousedown(); });
在代码执行后,如果你点击 Trigger the handler 将同样会弹出上面的消息。
鼠标上的任何一个键被按下,都会触发 mousedown
事件。若要区分是哪个键被按下了,我们可以使用 event 对象的 which
属性。虽然不是所有的浏览器都支持该属性(在 IE 中,要使用 button 属性来代替),但是 jQuery 对该属性进行了标准化,因此你可以放心的在任何浏览器中使用该属性。which
值是 1 时,表示左键,2 表示 中键,3 表示右键。
此事件主要是为了确保主按钮被用来开始拖拽操作。如果不进行这样的判断,当用户尝试使用上下文菜单时,就可能出现奇怪的结果。虽然可以通过这些属性,来检测鼠标中键和右键的点击,但不一定是可靠的。例如,在 Opera 和 Safari 中,默认情况下是无法检测鼠标右键的点击的。
如果用户在元素上按住了鼠标不放开,并将鼠标指针移开了该元素,然后再松开了鼠标,此操作依然被认为是该元素上的 mousedown
事件。上述一系列操作,对于大多数界面设计而言,被认为是 "取消" 鼠标点击操作。因此,通过使用 click
事件是比较好的做法,除非在特殊情况下,我们真正关注的是 mousedown
事件。
示例:
当触发 mouseup 和 mousedown 事件时,显示一段文本。
<!DOCTYPE html>
<html>
<head>
<script src="jquery.min.js"></script>
</head>
<body>
<p>Press mouse and release here.</p>
<script>
$("p").mouseup(function(){
$(this).append('<span style="color:#F00;">Mouse up.</span>');
}).mousedown(function(){
$(this).append('<span style="color:#00F;">Mouse down.</span>');
});
</script>
</body>
</html>