アプリ版:「スタンプのみでお礼する」機能のリリースについて

http://game.gr.jp/about/test/keyWithoutEnter.htm

に、なにかキーを押すと、キーコードを表示するJavaScriptがあるのですが、

ソースの中の、

//-----------------------------------------------------------
if(document.layers)document.captureEvents(Event.KEYPRESS)
self.focus()
//-----------------------------------------------------------
の部分がわかりません。
ここでは何をやっているのでしょうか?

また、「if(document.layers)」はNN4か否かを判別しているということは分かるのですが、

これは、
//-----------------------------------------------------------
if(document.layers) {document.captureEvents(Event.KEYPRESS)}
self.focus()
//-----------------------------------------------------------
なのでしょうか?


それとも
if(document.layers) {
document.captureEvents(Event.KEYPRESS)
self.focus()
}

なのでしょうか?

//-----------------------------------------------------------

あと、それと関連してなのですが、Gmailでは、
cを押すと新規メール作成、「?」を押すと、ショートカットキー一覧が出ますが、

テキストボックスやテキストエリアなど、
formのパーツ内にカーソルがあり、文字入力可能状態となっているとき、
gmailでは、このショートカットは無効となるようです。

これはどうやって実現できるのでしょうか?


以上、よろしくお願いいたします。

A 回答 (2件)

if()、while() for() に続くコードが 1命令なら{}は省略できる


なので
if(0) alert('実行されない')
alert('実行される')

しかし
if(0) alert('実行されない') alert('実行される')
はエラーになり
if(0) alert('実行されない'); alert('実行される')
ならOK!
なので ';' は省略しなほうが安全

IE用だけどbodyにイベント処理
発生したときのエレメントを調べればOK!
<html><body>
<form>
<input type="text"><br>
<input type="text"><br>
<div id="a">
input 以外で v を押すと表示
<input type="button" value="まずは消す" onClick="this.parentNode.style.display='none'">
</div>
</form>
<script>
window.document.onkeypress=view;
function view(){
o=event.srcElement;
if(event.keyCode==118 && o.tagName!='INPUT' )document.getElementById('a').style.display='block';
}
</script>
</body></html>
    • good
    • 0

if(document.layers)document.captureEvents(Event.KEYPRESS)


self.focus()

イベントを横取りすることを開始する?まぁなんとなくは
http://game.gr.jp/mycom/11/index.htm
    • good
    • 0
この回答へのお礼

すみません、皆様、事情がありまして、
あまり時間をとれなくなってしまいました。

ですので、ここをかりて、皆様にお礼申し上げます。

ありがとうございました。

お礼日時:2008/11/18 23:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!