LotusNotesな日々IBM社のLotusNotesに関係する何かを日々語ってるようなきがしないでもないブログです。 

このページの記事目次 ( ← 2012年06月 → )

スポンサーサイト

   ↑  --/--/-- (--)  カテゴリー: スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

(記事編集) http://mesosune.blog123.fc2.com/?overture" target="_new

--/--/-- | Comment (-) | HOME | ↑ ページ先頭へ |

【JavaScript】クロスブラウザでEnterを検知するには-2

   ↑  2012/06/07 (木)  カテゴリー: JavaScript/CSS
前回の別解です。
今回はプロトタイプ継承をガンガン使いますので少し難易度が高いかもしれません。

DOM的にイベントが発生した時に関数が動くようにするためには addEventListener またはattachEventを使用します。

addEventListener はノードが持つメソッドで 3つの引数をとります。
1つ目の引数はイベント名。基本的な構文は「onclick」のときは"click"と記載し、onはつかないのですが、IEは付けないと動きません。
2つ目の引数はイベントリスナ。要は呼び出される関数です。
3つ目の引数はフェーズ。イベントの伝播形式なんですが、説明は省略します。とりあえずはfalseでいいです。

addEventListenerはIE8.0前のIEでは使用できないため、
かわりにattachEventを使用します。

今回はイベントの発生元を取得してみます。
イベント発生元を取得するには
ブラウザごとにevent.target とか、event.srcElement と指定方法が異なります。
そのあたりも吸収してみます。
スポンサーサイト

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-393.html

2012/06/07 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【JavaScript】クロスブラウザでEnterを検知するには

   ↑  2012/06/04 (月)  カテゴリー: JavaScript/CSS
今回は、クロスブラウザでEnterが押されたかを検知してみたいと思います。

結論から言えば、
安直に キーボードのキーを押した時に発生するイベント で Enter の KeyCode 13 を検知すれば良いのですが、

面倒なのは、
IMEが日本語入力(ひらがなや全角文字)時に
onkeydown属性, onkeypress属性, onkeyup属性のキーイベントは、
UA によって発生状況に差異があることです。

Internet Explorer、Safari、Chrome、Blink版Opera は
すべてのタイプに対して onkeydown属性と onkeyup属性を毎回正確にイベントを発生させます。
ただし、onkeypress属性のイベントは一切発生しません。
onkeydown属性で返ってくるキーコードが229かどうかを監視することで、
日本語入力モードがONであるかどうかを判別することはできますが、
入力中か全確定したか部分確定中かの判別は不可能だったりします。

Firefox では最初の入力時に onkeydown属性と onkeypress属性のイベントが一度だけ発生し、
入力内容の確定時に onkeypress属性が発生します。
onkeypress属性のイベントは一切発生しません。
つまり、onkeyup属性でenterキーのキーコード(13)を監視していれば、
日本語の変換が確定したかどうかを判別できます。

旧Presto版Operaは、ほぼ何も出来ないです。
よって、ほっときます。

ちなみに、onkeydown属性, onkeypress属性, onkeyup属性を同一の要素に併せて使用した場合、
イベントは onkeydown→onkeypress→onkeyupの順で動きます。

ここまでが前提です。

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-390.html

2012/06/04 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

【雑記】各言語の配列の扱いの違い

   ↑  2012/06/01 (金)  カテゴリー: 雑記
言語によって大きく扱いが異なる、
「配列」
についての解説です。

「固定長配列」とか「可変長配列」という言葉はそもそもC言語でよく使われる言葉でLotusScriptに存在しない等、
そもそも「固定長」とか「可変長」も言語によって言葉の意味合いが違うのですが、
「固定長配列」
「可変長配列」
の2つに分けるとどっちの形になるかを
書きながら説明したいとおもいます。

今回は、
@式、LotusScript、Java、JavaScriptについて、
LotusScriptに一応寄せたっぽい説明でかいてみます。

◯「固定長配列」:
決まった要素数しか格納できない配列を静的配列と言います。

◯「可変長配列」:
要素数によって自動的にサイズが拡張する配列のこと。動的配列とも言われます。
ライブラリで提供されるもの(C++、Java、.NETなど)と言語に組み込まれているもの(PerlやDなど)があります。
※動的配列はただの動的に確保された配列とは異なります
 (ReDim Preserve で動的に確保する場合は固定長、となります)

もう一つ、
「連想配列」という構造体が「配列」にはあります。
ただし、一般的に言う「連想配列」とはLotusScriptでは「リスト」と呼ぶ別要素のため、
今回は説明からは意図的に外しています。
(いわゆる”添字”で操作できるの場合はすべて連想配列扱いなんですが、考え方が違うので説明しづらいw;)

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-389.html

2012/06/01 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。