■キー割当表示 [Shift-H] |
─ KeyNavi:キーボードを活用して ホームページを快適に─ |
ホーム [0] JavaScriptバグ&回避法リスト:1.目次 [1] 3. イベント(一般)編 | ・サイトマップ [Shift-S] |
JavaScriptバグ&回避法リスト |
■ 3. イベント(一般)編 |
|
■ 3.1 フレーム+ページ内リンクでfocus移動(IE5.5,6) |
この問題に対応したい場合は リンクの機能を使わず 「<a href=body.html#name>」の代わりにJavaScriptを使って 「<a href="javascript:void(0)" onclick="body.location='body.html#name'">」 としたらうまく行くようです。
■ 3.2 フレーム&windowのリサイズでイベント処理不安定(NS4) |
■ 3.3 windowのサイズ変更でCSSレイアウト崩壊(NS4) |
style='position:absolute;'を指定したページ
さて、この問題を解決するには ページのサイズ変更時に ページの内容を再読込みします。 詳細は下記。
■ 3.4 ロード時にonresizeが実行される(NS4.05) |
「<body onresize='location.reload()'>」としたページ(NS4.0Xはクラッシュする可能性有り)
「window.onresize=new Function('location.reload()');」としたページ(NS4.0Xはクラッシュする可能性有り)
そこでウィンドウのサイズが実際に変更されたことを確認してから location.reload()を実行するようにします。
このオプションはデフォルトで有効なため KeyNaviを採用したページではリサイズ対策が不要です。 以前の「NS4」専用オプションを指定していても 無視されるので問題ありません。
リサイズ時の再読み込みの是非を直接指定したい場合は「KL_RELOAD_ONRESIZE」に 真か偽の値を与えて下さい。
■ 3.5 画像、フォーム上でイベントハンドラがきちんと動作しない(NS4) |
作者が直面したケースでは ページ内の全てのform要素(formと各種input,textarea等)、 img要素に name属性をつけて 解決できました。
例えばレイヤーに「onmousedown」ハンドラをつけた場合、 マウスクリックで「mousedown」イベントが 発生するはずです。しかしレイヤー内の画像をクリックした場合に 動作しません。色々試したところ画像にname属性をつけたらOKでした。
NS4でイベント処理がおかしかったら試してみて下さい。
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
JavaScriptバグ&回避法リスト 目次
【数字キーでアクセス】
例 : 「2.1節」は「2」キーを2回連打して移動。「Q or P」で戻る。
「Ctrl-矢印」でフォーカス移動。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ホーム [0] JavaScriptバグ&回避法リスト:1.目次 [1] 3. イベント(一般)編 | ・サイトマップ [Shift-S] |
■キー割当表示 [Shift-H] | ─ KeyNavi Project 2003 ─ |