私はシングルページアプリを持っています。そのために、リンクのクリックが通常の方法で処理されないようにしたいのですが、代わりにルーターに渡されます。したがって、現在完全に機能しているメニューコードがあります(goto
HTMLを変更してfalseを返します)。
<a class="nav-link" href="/framework" onclick="return goto(this);">Home</a>
<a class="nav-link" href="/framework/register" onclick="return goto(this);">Register</a>
<a class="nav-link" href="/framework/login" onclick="return goto(this);">Log In</a>
onclick
とにかくすべてのリンクが同じ属性を取得するので、リンクを次のように書くことができる方法はありますか
<a class="nav-link" href="/framework">Home</a>
<a class="nav-link" href="/framework/register">Register</a>
<a class="nav-link" href="/framework/login">Log In</a>
非SPAWebサイトの場合と同じように、onclick
イベントはグローバルに適用されますか?
クリックイベントリスナーをアタッチできます。
$('a').click(function(e){
goto(this);
e.preventDefault();//don't navigate away
/*we can't use return goto(this) because returning false in a jQuery event handler
also stops event propagation */
});
アンカー要素が動的である場合は、イベント委任を使用できます。
$(document).on('click', 'a', function(e){
goto(this);
e.preventDefault();//don't navigate away
});
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加