2017-03-06 6 views
0

私のWebアプリケーションでは、多くの機能がonclickハンドラでその機能を公開するリンクとして公開されていますが、実際のリンクはjavascript void(0)に設定されています...href lnksでjavascript void(0)を使用する代わりに何ができますか? (バックボーンとSPAのサイト用)

<a href="javascript:void(0)" onclick="myApp.callJen(1303, this)" rel="nofollow">Call Jennifer</a> 

私のアプリがBackbone.jsやAngularのようなSingle Page Applications(SPA)に注入されていると、この種のリンクがうまくいきません。このようなサイトのこのリンクをクリックすると、実際のページが見つからない場合があります(そのようなことが起こっているかどうかはわかりません)。

いずれにしても、そのようなリンクをどのように置き換える必要がありますか?

現時点では、実際のURLやボタンを使用することはオプションではないとしましょう。

その他postsは..私は正直にこれらのいずれかを好きではない

// Cancel click event 
$('.cancel-action').click(function(){ 
alert('Cancel action occurs!'); 
}); 

a { cursor: pointer; color: blue; } 
a:hover,a.hover { text-decoration: underline; } 
<a class="cancel-action">Cancel this action</a> 

<a href="#!">Link</a> 

またはthisを...このような何かを示唆しているので、あなたはより良いものを提案することができますか?

+0

あなたのウェブアプリケーションとは何ですか?バックボーンまたは角度?あなたのアプリが注入されたらどういう意味ですか?あなたはJSコンポーネントを開発していますか?それはjQueryまたはプレーンJSを使用していますか? –

答えて

3

正しいの方法は「デフォルト動作を防止する」ことです。 jQueryイベントハンドラ:event.preventDefault()または単にreturn false;

エキスパートナレッジ: voidは演算子であり、かっこは必要ないことに注意してください。

関連する問題