2013-01-25 6 views
-2

Uncaught TypeError: Object has no method 'stopImmediatePropagation'catch되지 않은 형식 오류 : 개체가있는 방법 'stopImmediatePropagation'

jquery error

가 여기에 내가 9lessons 웹 사이트에서 얻을 완전한 코드가 없습니다.

$(document).ready(function() 
{ 
    $(".delete").live('click',function() 
    { 
     var id = $(this).attr('id'); 
     var b=$(this).parent().parent(); 
     var dataString = 'id='+ id; 
     if(confirm("Sure you want to delete this update? There is NO undo!")) 
     { 
      $.ajax({ 
       type: "POST", 
       url: "delete_ajax.php", 
       data: dataString, 
       cache: false, 
       success: function(e) 
       { 
        b.hide(); 
        e.stopImmediatePropagation(); 
       } 
      }); 
     return false; 
     } 
    }); 
} 

오류가 난이 오류를 해결하려면 어떻게 e.stopImmediatePropagation();

가리키는? 감사! 데이터 객체가 아닌 이벤트해야 성공 함수에 전달

$(".delete").live('click',function(e) 
+4

코드에서 e는 Ajax 응답이며 이벤트 객체는 아닙니다. – undefined

+0

정확히 무엇을하려합니까? Ajax 요청에는 전달을 중지하려는 이벤트가 없습니다. –

+1

항상 첫 번째 단계는 jQuery 문서를 확인하는 것입니다. '$ .ajax'가 어떤 파라미터를 받아들이는지'success'를보십시오. http://api.jquery.com/jQuery.ajax/ – elclanrs

답변

2

당신은 당신의 경우 clickHandler에서 이벤트 객체를 포함해야합니다. 클릭 이벤트를 잡아서 처리하고 있기 때문에 취소하려는 것 같습니다. 상단에서 다음을 사용하십시오.

$(".delete").live('click',function(event) 
{ 
    event.stopImmediatePropagation(); 
    ...everything else... 
}); 

원래 e.stopImmediatePropagation()을 제거하십시오. 이 그것을해야

+2

라인이'success' 콜백 함수에 있습니다. –

-1

...

$(document).ready(function() 
{ 
$(".delete").live('click',function(evt) 
{ 
var id = $(this).attr('id'); 
var b=$(this).parent().parent(); 
var dataString = 'id='+ id; 
if(confirm("Sure you want to delete this update? There is NO undo!")) 
{ 
    $.ajax({ 
type: "POST", 
url: "delete_ajax.php", 
data: dataString, 
cache: false, 
async: false, 
success: function(e) 
{ 
b.hide(); 
evt.stopImmediatePropagation(); 
} 
      }); 
    return false; 
} 
}); 

참고 async: false;,이 코드의 실행이 완료 아약스 기다린 클릭 이벤트를 중지 할 것입니다. 비동기 성공 핸들러에서 이벤트를 중지 할 수 없습니다.

관련 문제