2012-12-09 3 views
1

내가이 jQuery 코드 가지고 실패JQuery와는

$(document).ready(function(){ 
$('a').bind('click', false); 
var url; 
$('a').on('click',function(e){ 
    url=$(this).attr('href'); //; 
    $('#AjaxPage').load(url+" .AjaxContent"); 
}); 

을});

문제는 이유입니다 .. 클릭 이벤트 내가 바인더 제본 클릭 이벤트가 처음 작동합니다 ..하지만로드 기능, 링크가 그나마에서로드 된 내용에?

이제 내 부하 기능 나던 실행 얻을 : 난 당신이 '라이브'를 사용하는 것처럼 당신이

업데이트 '에서'사용 생각

$(document).ready(function(){ 


$('a').bind('click', false); 
    var url; 


$(document).on('click', 'a',function(){ 
     url=$(this).attr('href'); //; 
     $('#AjaxPage').load(url+" .AjaxContent"); 
    }); 
}); 
+0

왜 '$ ('a ')할까요? bind ('click ', false);'? –

+0

나중에이 작업을 통해 프로그래밍 방식으로 링크를 활성화 할 수 있습니다. $ ('a'). bind ('click', true); 또는 unbind 함수를 사용하십시오. – BlackFire27

답변

3

가 교체

$('a').on('click', function(e){ 

$(document).on('click', 'a', function(e){ // replace document with a more precise selector if available 

live과는 달리 on은 jQuery 컬렉션의 이벤트를 처리하고 제공된 선택기를 확인하는 대상에 이벤트를 위임합니다. jQuery 콜렉션은 비어 있어야합니다. 물론 document보다 정확할 수 있지만 추가중인 요소의 상위 요소 여야하며 이벤트를 가로 채고 자합니다.

+0

.on() 함수를 사용하면'$ (document)'에서 사용되는 페이지 속도가 느려 집니까? 나는 항상 당신이 가능한 한 그것을 좁히고 자하는 인상을 받고있었습니다. 당신의 경험에서, 그것은 실제로 많은 차이를 만듭니다? – VictorKilo

+1

예, 가능하면 최대한 좁게하고 싶지만 어쨌든 기본적인 작업입니다. 누군가가 클릭 할 때만이 계산되고, 그것은 충분히 빨리, 실제로입니다. . $ 대신'$ (문서) CSTE 연구진의 –

+0

(..'당신은 $ ('#의 AjaxPage') (...' – techfoobar