如果您移动鼠标,则不会触发 onClick 事件

OMG*_*sen 6 html javascript

我有一个像这样的简单按钮:

<a class="button" href="javascript:void(0);" onclick="submitActivity();">Add</a>
Run Code Online (Sandbox Code Playgroud)

我也试过:

<a class="button" href="javascript:submitActivity();">Add</a>
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,如果鼠标在 mousedown 和 mouseup 之间移动了一定数量的像素,它就不会注册点击。这可能会导致用户相信他们已经提交了信息,而实际上他们并没有提交

这发生在 Chrome 中。其他浏览器没测试过。

我希望无论您单击和释放按钮的哪个位置,都会触发事件。

编辑:同样的事情发生在 Firefox 中,但从视觉上看,我正在拖动链接。这样至少对用户来说它不提交是有意义的,但在 Chrome 中没有这样的视觉指示正在发生什么。

OMG*_*sen 1

解决方案是在 onmousedown 上执行 PreventDefault()。

$(".button").mousedown(function(event){
    event.preventDefault();
    return false;
});
Run Code Online (Sandbox Code Playgroud)