2011-04-06 5 views
1

빈 href (href = "#")를 사용하고 jQuery 클릭 이벤트가 컨트롤러에서 데이터를 가져 와서 부분 뷰에 표시 할 수 있도록했습니다.내 href가 비어있는 경우 jQuery 주소 플러그인이 작동합니까?

그러나 뒤로 버튼을 사용할 수 있도록 jQuery 주소 플러그인을 구현하고 싶습니다. 내가 말할 수있는 것부터, 빈 href 사용을 중단해야합니다. (빈 상어를 가지고있는 것도 나쁜 습관이라고 생각합니다.)

내 새 링크는 다음과 같습니다.

대신 캡처 내 jQuery를 클릭 이벤트의 지금
<a href="/Stop/Details/<%: item.StopID %>"> 
    <div class="stopId"><%: item.StopID %></div> 
</a> 

, 나는 그 부분보기 이후 내가 원하는하지 않은, 바로/정지/세부로 리디렉션지고 있어요. 이 문제를 어떻게 해결할 수 있습니까?

편집 : 방금 제목이 정확하지 않다는 것을 알았습니다. 미안합니다. 보다 정확한 제목을 생각하고 변경하려고합니다.

두 번 편집 : div가 링크에 중첩되어서는 안된다는 사실도 깨달았습니다.

내 클릭 이벤트는 실제로 라이브 클릭입니다. 다음과 같이 보입니다.

$(function() { 
$(".stopId").live('click', function() { 
    var stopId = $(this).html() 

     $.post('<%= Url.Action("Details") %>', 
    { id: stopd }, 
    handleSuccess 
     ); 
}); 
}); 

답변

2

앵커의 클릭 기능에서 기본 동작이 일어나지 않도록 할 수 있습니다. 이렇게하면 브라우저를 클릭 할 때 브라우저가 링크를 따르지 않습니다. 당신은 당신의 jQuery를 클릭 코드를 게시하지 않았다하지만 결과는 아래와 같습니다 :
는 사실, jQuery address plugin 문서보고 후, 난 당신이 링크가이처럼 보이게 할 생각

$('a').click(function(e) { //Edit note the e 
    //Your code here 
    e.preventDefault(); //This stops the browser from following the link 
}); 

편집 : <a href="#/Stop/Details/<%: item.StopID %>"> (# 참고). 이것도 문제를 해결할 수 있습니다.

+0

원래 게시물에 내 클릭 이벤트 코드를 추가했습니다. –

+0

그게 효과가 있어요. jQuery에 대해 많이 알지 못합니다. (나는 천천히 책 "jQuery : 초보자 - 닌자"로 가고 있었지만 나는 아직 읽지 않은 쟁점에 대해 계속 연구하고있다.) 감사합니다! –

+0

@Gary the Llama : 도움이 된 것을 기쁘게 생각합니다. 어떤 문제를 발견하면 빠른 google/StackOverflow 검색이나 jQuery [api] (http://api.jquery.com/) 확인이 도움이됩니다. :) –

2

당신의 jQuery를 클릭 핸들러를 보지 않고, 나는 확신 할 수는 없지만 return false 또는 event.preventDefault 사용하는 기억이 있습니다

$('a').click(
    function(){ 
     // other stuff 
     return false; 
    }); 

또는 :

$('a').click(
    function(e){ 
     e.preventDefault; 
     // other stuff 
    }); 

참고 자료 :

+0

e.preventDefault에 대한 액세스 권한이없는 것처럼 라이브 ('클릭') 이벤트입니다. 편집 : 인텔리 센스까지 분필, 그들의 웹 사이트는 가능하다고합니다. –

+0

당신도 옳았지 만, 다른 남자가 너를 때렸지. 빠른 답변 감사합니다. –

+0

@Gary : 전혀 문제 없음. 적어도 도움이 되었으면 좋겠다. :) –