我有一个表单,其中包含在模糊上验证的字段。如果发现它们无效,则在无效字段下方显示一个 div,导致表单向下扩展。
如果您更正字段并单击提交按钮,则 div 将再次隐藏,并且提交按钮向上移动。
我的理论是,这会导致提交的点击事件没有被注册,这是一个正确的假设,如果是这样,是否有可能解决这个问题,然后移动按钮或反馈 div,这样它们就不会移动按钮?
示例代码:(先点击输入文本框,再点击按钮确保触发模糊)
我有一个表单,其中包含在模糊上验证的字段。如果发现它们无效,则在无效字段下方显示一个 div,导致表单向下扩展。
如果您更正字段并单击提交按钮,则 div 将再次隐藏,并且提交按钮向上移动。
我的理论是,这会导致提交的点击事件没有被注册,这是一个正确的假设,如果是这样,是否有可能解决这个问题,然后移动按钮或反馈 div,这样它们就不会移动按钮?
示例代码:(先点击输入文本框,再点击按钮确保触发模糊)
这个问题不是代码没有注册提交点击事件被处理。它的按钮永远不会被点击。在我看来,Chrome 正在运行 blur 事件。在 blur 事件之后,它会尝试在相同坐标处执行 mousedown(最终导致单击)。由于模糊移动了提交按钮,因此没有任何反应。
如果您将提交按钮保持在同一位置,它将起作用。
见http://plnkr.co/edit/1emnfeHAzOGDXbcFueLT?p=preview