当使用jQuery的mousedown和mouseup方法时,我怎么能使用event.preventDefault()?

Bab*_*ker 5 javascript jquery javascript-events

event.preventDefault()用来防止连接#到URL的锚点的href.我在点击的mousedown()和mouseup()部分预先形成事件,这就是为什么我不能使用点击.但是event.preventDefault(),#在禁用mouseup()或mousedown()方法时,不会阻止URL 的连接.我怎么能绕过这个?

use*_*716 12

如果您正在谈论点击链接,可能是因为没有默认行为来阻止mousedownmouseup.

单击链接的默认行为需要链接上的mousedownmouseup号组合.如果您mousedown之前拖动链接mouseup,则不会遵循该链接.反之亦然.

只有当你mousedownmouseup是激活的默认行为.该事件由该click事件代表.


编辑: 我想我忘了回答这个问题.

你是如何解决它的?添加一个click()事件处理程序e.preventDefault().

$('a.myElement').click(function(e){e.preventDefault()});
Run Code Online (Sandbox Code Playgroud)

如果您还想停止传播事件,并且如果您使用的是jQuery 1.4.3或更高版本,则可以执行以下操作:

$('a.myElement').bind('click',false);
Run Code Online (Sandbox Code Playgroud)

bind()(docs)方法的文档:

将第三个参数设置为false将附加一个阻止发生默认操作的函数,并阻止事件冒泡.

再次,它需要jQuery 1.4.3或稍后.