-PR-
解決済み

onBlurとonFocusの処理順序について

  • 困ってます
  • 質問No.48526
  • 閲覧数1453
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 35% (10/28)

テキストボックスが2つあり(AとBとします)、
AにはonBlur時に、BにはonFocus時に処理を行うようにしています(実行処理はそれぞれ別物)。

この状態でAからBにカーソルを移すと、
BのonFocus処理を行い、その後AのonBlur処理を行ってしまいます。

AのonBlur→BのonFocusという順番で処理をしたいのですが、これは可能なのでしょうか?
また、イベントハンドラの発生順序(処理順序?)には決まりがあるのでしょうか?
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル10

ベストアンサー率 47% (22/46)

<input id=a onBlur=alert("aB")>
<input id=b onFocus=alert("bF")>

↑のソースだと、a から b にカーソルを移すと
alert("aB") → alert("bF")
となりました。

puntoabartさんはもっと複雑な処理をさせていて、
その中で逆になってしまっているんだと思います。
たぶん思いどうりにできますよ。
補足コメント
puntoabart

お礼率 35% (10/28)

確かに、onBlur処理はforやifがたくさん入った複雑なものになっています。

ところで、複数のイベントハンドラの処理は並行して行っているのでしょうか?
もし、並行して行っているならonBlur開始→onFocus開始となり、
処理が複雑なonBlurが終わる前にonFocusが終わってしまうのかもしれません。
投稿日時 - 2001-03-08 09:12:54
関連するQ&A
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル10

ベストアンサー率 47% (22/46)

処理が並行して行う という部分が分かりませんでした。 onBlurが終わる前にonFocusが終わってしまう という部分も 分かりませんでした。 ...続きを読む
処理が並行して行う という部分が分かりませんでした。
onBlurが終わる前にonFocusが終わってしまう という部分も
分かりませんでした。
補足コメント
puntoabart

お礼率 35% (10/28)

変なたとえかもしれませんが、「ご飯を食べる」という行動と「新聞を読む」という行動を考えてみましょう。

処理を並行して行う、というのは
「ご飯を食べながら新聞を読む」イメージです(行儀は悪いですが)。
余談ですが、並行に対する概念として「連続」という処理方法もあります。
これは、「ご飯を食べ終わってから新聞を読む」というイメージです。

『onBlurが終わる前に~』については、
「onBlur処理が完了する前にonFocus処理が完了する」
ときっちりと書けばよかったかもしれません。

ご飯と新聞のたとえで言うと、
「ご飯を食べている途中で新聞を読み始め、先に新聞を読み終えてしまう」といったところです。
投稿日時 - 2001-03-09 09:34:06


このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ