我在一个表单中遇到了奇怪的问题。表单包含多个文本字段,其中带有内联验证,如果内容无效,则在字段下方显示错误消息。在失去焦点时触发验证。页面底部有一个“下一步”按钮。点击后执行验证,如果一切正常,则提交表单。现在,如果单击按钮时一个必填的空字段具有焦点,则会发生以下情况:
1. 触发onBlur并执行内联验证 2. 显示错误消息 3. 页面的其余部分“向下推”以显示错误文本 4. 不会触发按钮上的onClick操作
我最初认为onBlur会阻止onClick。然后我注意到当页面向下移动时,鼠标指针不再位于按钮上,因为按钮被向下推动了。如果我在足够低的位置单击按钮,使得“移动”后指针仍然在按钮上,则会触发onClick。我用onMouseDown替换了onClick,问题得到解决,但我对这种情况发生的原因感到困惑。
1. 触发onBlur并执行内联验证 2. 显示错误消息 3. 页面的其余部分“向下推”以显示错误文本 4. 不会触发按钮上的onClick操作
我最初认为onBlur会阻止onClick。然后我注意到当页面向下移动时,鼠标指针不再位于按钮上,因为按钮被向下推动了。如果我在足够低的位置单击按钮,使得“移动”后指针仍然在按钮上,则会触发onClick。我用onMouseDown替换了onClick,问题得到解决,但我对这种情况发生的原因感到困惑。
mouseup
发生的位置,但这仍然无法帮助您。同样,前半部分是关于“一个元素”的,不允许其离开。 - Colin Alworth