Safari (5.0.4)で、onclick="location.href='link.html'"
で新しいページを読み込むことができません。
HTMLタグの<select>
と<option>
を使って、ドロップダウンのナビゲーションメニューを作っています。メニューアイテムがクリックされた後、新しいページをロードするために、onclick
ハンドラを使用していますが、Safariでは何も起こりません。(FFとOperaではテストできました。) Safariにはonclick`のバグが多いことは知っていますが、この特定の問題に対処する解決策は見つかりませんでした。
以下に私のコードのサンプルをご覧ください。
<select>
<option onclick="location.href='unit_01.htm'">Unit 1</option>
</select>
と
<select>
<option onclick="location.href='#5.2'">Bookmark 2</option>
</select>
*私は、HTMLのヘッドセクションにjavascriptを埋め込まないようにしています(したくありません)。 私は、javascriptの使い方を知らない人のためにページを開発しているので、コードはシンプルな方が良いのです。)
ガイドライン
作り方
です。
全てのブラウザでメニュー項目をクリックできるようにするには、どのようなJavaScriptのコードが必要ですか? (IEとの互換性を確認してください。)
Use jQuery....javascriptを教えると言っていますが、もっときれいなテクニックを教えてあげてください......例えば、私ならこうします。
<select id="navigation">
<option value="unit_01.htm">Unit 1</option>
<option value="#5.2">Bookmark 2</option>
</select>
そして、ちょっとしたjQueryを使えば、次のようになります。
$("#navigation").change(function()
{
document.location.href = $(this).val();
});
目立たず、ロジックとUIがきれいに分離されています。