0

入力ボックスとボタンがあります。ユーザーが入力テキストを編集してボタンをクリックすると、次のイベントが発生します。

  1. ボタン -mousedown
  2. 入力-change
  3. 入力-focusout
  4. ボタン- mouseup[発生しません]
  5. ボタン- click[発生しません]

http://jsfiddle.net/W2MMb/

原因:入力changeイベントで、警告メッセージを含むdiv要素がボタンの上のDOMに挿入され、ボタンが移動します。したがって、mouseupイベントはボタンで発生せず、クリックは登録されません。

制限事項:ボタンを個別に処理することはできませんmouseupmousedownサードパーティのボタンとイベントです。

この状況に対処するための最良の解決策は何ですか?

4

1 に答える 1

0

keypressイベントの代わりに入力イベントを処理しますchangeが、これには、ユーザーがキーを押すたびに複雑になる可能性のあるコードを実行しなければならないという欠点があります。絞ることもできますが、それはやり過ぎのようです。

ユーザーはで何かが起こることを期待しているので、ボタンでの処理はmousedown少し恐ろしいでしょうmouseup

于 2013-02-21T13:31:21.550 に答える