0

ポップアップカレンダーの日付セレクターを備えた日付入力ボックスがあります。日付ボックスをクリックすると、ポップアップカレンダーが表示されます。その後、私はどちらかをすることができます

  • 日付を選択します。日付が日付ボックスに表示され、カレンダーが表示されます
  • カレンダーの外側をクリックします。カレンダーが消えます。これは、クリックされたものをチェックするmouseupイベントを介して行われます。
  • 日付ボックスに日付を入力します。

必要なもの:日付ボックスに日付を入力してタブで移動すると、カレンダーが消えます。日付ボックスにonBlurイベントを追加して、これを試しました。このイベントにより、カレンダーはなくなりました。ただし、これは、カレンダーの内側をクリックするとカレンダーが消えることを意味します。これは不要です。そのため、カレンダーがクリックされたか、フォーカスがあるかどうかを確認する、ある種の日付ボックスonBlurイベントが必要です。または完全に何か他のもの。

カレンダーにフォーカスがあるかどうかを確認してみました。私が行ったjqueryの使用:

target = $("*:focus");

これは何の役にも立ちませんでした。通常、クリックされたものを確認するためにonCLickイベントを使用しますが、OnClickイベントとOnBlurイベントが必要であり、OnBlurイベントにはonClickイベントの結果が必要です。しかし、私は最初に呼ばれるものを制御することができないようです。

ChromeとIEJSデバッガーを使用して何が起こっているかを確認しようとしましたが、ブレークポイントを追加すると、呼び出される関数が変わるようで、意味がありません。onBlurイベントにブレークポイントを追加します:そこで停止します。mouseUpイベントにブレークポイントを追加します。そこで停止します。両方のイベントにブレークポイントを追加します。続行しても、onBlurイベントでのみ停止します。mouseUpイベントをトリガーするには、もう一度クリックする必要があります。

4

1 に答える 1

0

http://jsfiddle.net/alaa13212/Gs5Y2/

blurjQueryでfocusoutを使用します。
要素に焦点を合わせる必要があります(焦点を合わせるにはtabindex属性を使用します)

于 2012-12-01T12:48:07.533 に答える