仅在触发OnBlur事件后才触发OnMousedown事件

时间:2009-10-19 19:32:39

标签: html events javascript-events dhtml

我们有一个HTML屏幕,它包含以下两个部分:

  1. 页脚 - 带有图标的栏,其中包含“更新”按钮。更新按钮具有与之关联的onmousedown事件。单击“更新”按钮时,正文中存在的数据将保存在数据库中。

  2. 正文 - 包含2个输入字段的HTML表单。每个字段都有一个与之关联的onblur事件。 OnBlur操作包含必须在运行Update操作之前运行的验证。

  3. 问题在于,在运行与OnBlur事件关联的操作之前,有时会触发OnMouseDown事件以及此后的Update操作。这导致在执行更新后运行与每个字段绑定的验证。

    当我在其中一个Body字段上时(因此焦点位于Body部分字段之一上)并且我单击Update按钮时会发生此行为。

    您有什么建议来解决这个问题?

2 个答案:

答案 0 :(得分:0)

如果所有这些操作都要一个接一个地发生,为什么不将所有这些操作绑定到onClick上呢?

答案 1 :(得分:0)

您可以通过各种方式使用onFocus事件来确保onBlur已完成。

我正在想象抛出onMouseDown并且只是检查onFocus以查看鼠标按钮当前是否已关闭。查看this link,了解如何检查鼠标按钮是否已关闭。

或者,我要提一下,如果你只是寻找onMouseDown,你可能会遇到麻烦。如果用户选中该按钮并点击空格键或输入?

,会发生什么情况