0

我有一个输入框和一个按钮。当用户编辑输入文本并单击按钮时,会发生以下事件:

  1. 按钮 -mousedown
  2. 输入 -change
  3. 输入 -focusout
  4. 按钮 - mouseup[不会发生]
  5. 按钮 - click[不会发生]

http://jsfiddle.net/W2MMb/

原因:在输入change事件时,一个包含警告消息的 div 元素被插入到按钮上方的 DOM 中,导致按钮移动。因此,该mouseup事件不会发生在按钮上,也不会注册任何点击。

限制:我无法处理按钮mouseupmousedown单独处理 - 这是第 3 方按钮和事件。

处理这种情况的最佳解决方案是什么?

4

1 回答 1

0

处理输入keypress事件而不是change事件,但是这样做的缺点是每次用户按键时都必须运行可能很复杂的代码。它可能会受到限制等,但这似乎有点矫枉过正。

处理mousedownon 按钮会有点可怕,因为用户希望事情发生在mouseup.

于 2013-02-21T13:31:21.550 回答