タグ href 属性と onclickevent_html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 12:02:37
オリジナル
983 人が閲覧しました

a タグは主にページ ジャンプの実装に使用され、href 属性または onclick イベントで実現できます。

<a onclick="window.location.href='www.cnblogs.com'" href="javascript:void(0);">博客园</a>
ログイン後にコピー

Blog Park

このコードは主流のブラウザでは問題ありませんが、IE6 ではジャンプできないという問題が発生します。その理由は何でしょうか?

javascript:void(0);

void(arg); は常に null を返す関数として理解できますが、そのパラメーターを空にすることはできません。そのパラメータには、任意の式または関数を使用できます。

<a href="javascript:void(name = '博客园'); alert(name);">测试</a>
ログイン後にコピー

Testing

IE6 は、onclick などの DOM 自体にバインドされたイベントを最初に実行します。バブリングがブロックされていない場合は、href 属性が順番に実行されます。また、 void(0); はイベントを実行する必要がないため、IE6 はブラウザにイベントを実行しないように指示し (前のアクションを上書きします)、バブリングを終了することは false を返すことと同じであるため、ブラウザはアクションを実行しません。したがって、onclick イベント内のバブリングイベントを停止するだけです。

<a onclick="window.location.href='http://www.cnblogs.com';return false;" href="javascript:void(0);">博客园</a>
ログイン後にコピー

Blog Park

この方法では、IE6 で正常に実行できます。

もう 1 つの方法は、javascript:void(0); を使用せず、代わりに # を使用することです。これも、アンカー ポイントが指定されていない場合は、アンカー ポイント #name を意味します。ページの先頭に移動します。 # には特定の意味があり、デフォルトは #top です。 # の後にコンテンツがある場合、それはタグとみなされ、ページ上で該当するタグが見つからない場合はそこにジャンプします。ページの先頭にジャンプしたくない場合は、### を使用できます。### は意味のないラベル指定です。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート