いくつかのJavaScriptを実行し、href
がそれを使用していた場所に移動するアンカータグを作成したいと思います。 JavaScriptを実行し、window.location
またはtop.location
をhref
の場所に設定する関数を呼び出しても機能しません。
だから、ページにid "Foo"を持つ要素があると想像してください。次のようなアンカーを作成したい:
<a href="#Foo" onclick="runMyFunction(); return false;">Do it!</a>
これをクリックすると、runMyFunctionを実行し、ページを#Foo
にジャンプします(リロードは発生しません-top.location
を使用するとページがリロードされます)。
提案?ここで役立つ場合は、jQueryを使用してうれしいです...
<a href="#Foo" onclick="return runMyFunction();">Do it!</a>
そして
function runMyFunction() {
//code
return true;
}
この方法で、youf関数を実行し、リンクをたどり、関数が正常に実行された直後にリンクをたどります。
関数の実行が成功した場合にのみリンクが場所を変更する必要がある場合は、onclick="return runMyFunction();"
を実行し、関数内でtrueまたはfalseを返します。
関数を実行したいだけで、アンカータグにその仕事をさせたい場合は、return false
ステートメントを削除するだけです。
補足として、インラインJSは最適な方法ではないため、代わりにイベントハンドラを使用する必要があります。