我有一个像这样的简单按钮:
<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 中没有这样的视觉指示正在发生什么。
解决方案是在 onmousedown 上执行 PreventDefault()。
$(".button").mousedown(function(event){
event.preventDefault();
return false;
});
Run Code Online (Sandbox Code Playgroud)