- PR -

JavaScriptでどこにフォーカスがあるのか

1
投稿者投稿内容
どらぴ
常連さん
会議室デビュー日: 2003/10/06
投稿数: 40
投稿日時: 2003-10-06 15:26
みなさま、始めまして。

今、JavaScript+HTMLでWebページを作成していまして、Enterが押されたときに
どこにフォーカスがあるか知りたいのです。

document.onkeydown

でブラウザ上でキーボードのキーが押されたかわかりますし、
これで呼び出す関数でkeyCodeを取得すればEnterキーが押されたかどうかがわかります。
このときにフォーカスがどこにあるか知りたいのですが、
何か良い方法はありませんでしょうか?
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-10-06 16:31
引用:

どらぴさんの書き込み (2003-10-06 15:26) より:
みなさま、始めまして。

今、JavaScript+HTMLでWebページを作成していまして、Enterが押されたときに
どこにフォーカスがあるか知りたいのです。

document.onkeydown

でブラウザ上でキーボードのキーが押されたかわかりますし、
これで呼び出す関数でkeyCodeを取得すればEnterキーが押されたかどうかがわかります。
このときにフォーカスがどこにあるか知りたいのですが、
何か良い方法はありませんでしょうか?


 フォーカスがどこにあるか直接は解らないと思います。
ただ、フォーカスを得たり、失ったりはイベントで拾えます。
(解らなければ調べてください。)
このタイミングで、
いまフォーカスを得ているオブジェクトの名称を、
保持しておけばよいのではないでしょうか?

 投稿とは無関係ですが、
Java Scriptは”XML & Web Services”ではないですね。
(WEBアプリが”Web Services”だと勘違いしている人もいますが)
どらぴ
常連さん
会議室デビュー日: 2003/10/06
投稿数: 40
投稿日時: 2003-10-06 16:54
taku様、早速のレス、ありがとうございます。

> フォーカスがどこにあるか直接は解らないと思います。

やはり、現在どこにフォーカスがあるかは直接はわかりませんか。。。
実はフォームやリンクなどからonfocus情報を取得できますが、
画面上のリンクや、フォームなどでないところをクリックされたときの情報を
取得したいのです。

document.onfocus

などで取得しようとしても、直前にフォームやリンクなどにフォーカスがあると
うまく働きません。
といって

document.onclick

としたところで、何もないところをクリックするのと
フォームやリンクでクリックするのと動きは何ら変わりないですよね。

なんとかフォームやリンクなどにフォーカスがあるときと
なにもないところをクリックされたときの違いを明確にできないものでしょうか?

> Java Scriptは”XML & Web Services”ではないですね。
> (WEBアプリが”Web Services”だと勘違いしている人もいますが)
弁解します。
どこに質問して良いかわからなかったのです。
他のみなさんの質問に比べてレベルが低いことは重々承知の上です。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-10-06 17:12
引用:

なんとかフォームやリンクなどにフォーカスがあるときと
なにもないところをクリックされたときの違いを明確にできないものでしょうか?



 下記はどうでしょうか?

//サンプル
<html>
<head><title>サンプル</title></head>
<body>
<table><tr><td onClick="alert('サンプル')"><b>サンプル</b></td></tr></table>
</body>
</html>

引用:

> Java Scriptは”XML & Web Services”ではないですね。
> (WEBアプリが”Web Services”だと勘違いしている人もいますが)
弁解します。
どこに質問して良いかわからなかったのです。
他のみなさんの質問に比べてレベルが低いことは重々承知の上です。


 単なる突込みのつもりで書きました。
Java SolutionやInsider.NETへの投稿でも実際は、
Java ScriptやHTMLレベルのことだというのは珍しくないので。
個人的にはWEBアプリのカテゴリも欲しい気がしています。
ほむら
ぬし
会議室デビュー日: 2003/02/28
投稿数: 583
お住まい・勤務地: 東京都
投稿日時: 2003-10-06 17:30
ども、ほむらです。
----------------
eventオブジェクトの
event.srcElementでイベントの発生したエレメントがわかるかと思うのですが。。

DHTML リファレンスより

# 悩んだけど以下追加
引用:

Java SolutionやInsider.NETへの投稿でも実際は、
Java ScriptやHTMLレベルのことだというのは珍しくないので。
個人的にはWEBアプリのカテゴリも欲しい気がしています。


JavaScriptに関してはJavaScript掲示板も捜せばでてくるので
あえて部屋を増やす必要も無いように思えます。。。
でも。かといっていろいろなところにばら撒かれてしまうのも問題かと思うので
Insider.NETの説明にHTMLの部分を混ぜてもいいかなとは思いますね。
会議室の説明に付け足す程度でいいと思いますけど
(まぁディレクトリはその他で良いかかと思います)

# BBコード URLの使い方が間違えていたことが判明→修正w

[ メッセージ編集済み 編集者: ほむら 編集日時 2003-10-09 10:54 ]
どらぴ
常連さん
会議室デビュー日: 2003/10/06
投稿数: 40
投稿日時: 2003-10-06 19:20
ほむら様、taku様、誠にありがとうございました。

> ほむら様
このようなパラメータがあるとは存じませんでした。
それなりにeventオブジェクトで探したつもりだったのですが。。。
IEでしかサポートしていないようですが、助かりました。
ありがとうございました。
また、様々な掲示板があることは存じておりますが、
現在の環境でアクセスできるサイトが限られてしまっていますので
ここに書き込ませていただきました。

> taku様
最初意味がわからなかったのですが、
ページ全体をテーブルにしてしまうという発想ですか?
「成る程」ですが諸事情により使えないです。
色々ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)