/ / Uncaught TypeError: O objeto não possui o método 'stopImmediatePropagation' - php, javascript, ajax, jquery

Uncaught TypeError: O objeto não tem o método 'stopImmediatePropagation' - php, javascript, ajax, jquery

Uncaught TypeError: o objeto não tem o método "stopImmediatePropagation"

erro de jquery

Aqui está o código completo que eu recebo do site 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;
}
});
}

Erro está apontando para e.stopImmediatePropagation();

Como posso resolver esse erro? Obrigado!

Respostas:

3 para resposta № 1

A primeira variável passada para a função de sucessodeve ser um objeto de dados, não um evento. Parece que você quer pegar o evento click e cancelá-lo desde que você o está manipulando. Então, no topo, use isto:

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

E remova o original e.stopImmediatePropagation ();


2 para resposta № 2

Você precisa incluir o objeto de evento no seu clickhandler:

 $(".delete").live("click",function(e)

-1 para resposta № 3

Isso deve servir...

$(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;
}
});

Note o async: false;Isso fará com que sua execução de código espere que o Ajax seja concluído e interromperá o evento click. Você não pode parar um evento de um manipulador de sucesso assíncrono.