2017-03-06 5 views
0

내 웹 응용 프로그램에서는 많은 기능이 해당 기능을 제공하는 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와 같은 단일 페이지 응용 프로그램 (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은 연산자이며 괄호는 필요하지 않습니다.