jQuery mousedown() 方法
实例
在 <div> 元素上按下鼠标左键,插入一些文本:
$("div").mousedown(function(){
$(this).after("Mouse button pressed down.");
});
尝试一下 »
定义和用法
当鼠标指针移动到元素上方,并按下鼠标左键时,会发生 mousedown 事件。
mousedown() 方法触发 mousedown 事件,或添加当发生 mousedown 事件时运行的函数。
提示:该方法通常与 mouseup() 方法一起使用。
语法
触发被选元素的 mousedown 事件:
$(selector).mousedown()
尝试一下
添加函数到 mousedown 事件:
$(selector).mousedown(function)
尝试一下
参数 | 描述 |
---|---|
function | 可选。规定 mousedown 事件触发时运行的函数。 |
码农前端
lun***32@126.com
mousedown() 可以检测鼠标哪个按键被按下,以下三个数字表示鼠标的三个按键:
尝试一下 »
码农前端
lun***32@126.com
MCCF
353***4841@qq.com
originalEvent属性可获取系统默认的、未被jQuery统一的原始事件对象。如,希望获取鼠标点击了哪一个按钮触发了事件,也可采用MouseEvent的button属性,即:
另外,该button属性对于一些其它类型的事件,如mousemove事件会返回未知的结果,因为这类事件不是鼠标按键引起的。可以使用buttons属性获取事件触发时被按下的键,如:
注意到buttons返回值中有一个0表示未按下任何键,而butto有(button返回0表示左键),因为button表示事件因何键按下而被触发,因此系统认为一定有一个键被按下。
当然上述第二例不完全准确。可注意到buttons返回值皆为2的整数次幂,因此可以做加法表示多个键被按下(参见位运算相关内容),比如返回7(111)表示左、中、右三键都被同时按下。
所以上述代码应该改成这样:
典型的一个例子是模拟拖放API时的操作。HTML5前拖放不是默认操作,因此需要JS来模拟。例如模拟一个dragenter事件(被拖放内容进入可放置元素),需要判断是否将鼠标按住左键移动拖进区域内,则:
上述例子不是非常完美,但是在新版浏览器可以发现确实实现了效果。当然最好的方法是使用HTML5的拖放API,此处仅作举例。
MCCF
353***4841@qq.com