2011-09-08 20 views
49

Googleを使用しているときにアンカータグでonclickイベントが使用されていました。Javascript onclickイベントのHTMLアンカータグ

googleヘッダー部分のオプションですが、通常のタグのように見えますが、オンクリックするとリダイレクトされずにメニューが開きます。

<a href='more.php' onclick='show_more_menu()'>More >>></a> 

を使用した場合、通常これは通常show_more_menu()を発射せずに「more.php」になりますが、私は、そのページ自体にメニューを表示しています。どのようにするにはグーグル

答えて

76

onclick関数がfalseを返す場合、デフォルトのブラウザ動作はキャンセルされます。そのようなもの:

<a href='http://www.google.com' onclick='return check()'>check</a> 

<script type='text/javascript'> 

function check() 
{ 
    return false; 
} 

</script> 

いずれにせよ、Googleがそうするかどうかはそれほど重要ではありません。あなたのonclick関数をjavascript内でバインドする方がクリーンです。これにより、HTMLを他のコードから分離することができます。

+2

1、より必ずHREF =「#」で#を使用して、JavaScriptの中に必要な事をします。 #hrefでそのリンクをクリックすることは安全です。ページはURLをリロード/リロードします。 –

32

リンクをクリックしたときにリダイレクトしたくないと思ったからです。 あなたが行うことができます。

<a href='javascript:;' onclick='show_more_menu();'>More ></a> 
+0

これは、hrefがどこにでも向けるのを望まない場合に役立ちます。 – kbpontius

+0

これはうまく、動作しますが、jqueryがエラーをスローします。 "エラー:構文エラー、認識できない式:javascript :;" – TheOddCoder

40

をあなたも、オプションの下に試すことができます。

<a href="javascript:show_more_menu();">More >>></a> 
+0

警告:関数が明示的な値(例: 'return null;'ではなく 'return;')を返す場合、これはFireFoxなどの一部のブラウザで意図しない結果を招きます。ページには、すべてのコンテンツが文字列形式(例: '[object Object]')で返された値に置き換えられます。 – rannmann

+0

「関数が定義されていません。」というエラーが表示されます。 –

関連する問題