Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Então, já tentei de tudo e só achei uma solução.
Usando o $.getScript() para pegar o conteúdo do js novamente, mas isso deixa o sistema meio que lento, queria uma forma de que assim que o conteúdo fosse carregado pelo $.load() dentro da div reconhecesse o javascript inserido na página atual.
<html>
<head>...
<script type="text/javascript" src="/frontend/js/common.js"></script>
<script type..>
$(function(){
$("content-load").load('/url/requisicao/'); // Ele carrega o conteúdo, mas o conteúdo carregado não executa o common.js e nem o javascript contido em /url/requisicao é incorporado na div
});
</script>
<body>
<div class="content-load"></div>
</body>
</html>Digo, um exemplo do que não funciona que está no common.js.
$(function(){
$(".remover-pedido").click(function(e){
e.preventDefault();
var id = $(this).attr('alt');
$.ajax({
type: 'POST',
url: '/pedidos/remover_pedido/',
data: {id: id},
dataType: "JSON"
}).done(function(data){
if(data.response === true){
$(".pedidos-content").load('/pedidos/');
$('.pedidos-load').load('/pedidos/ #teste, #content-list, #content-price');
} else {
$(".pedido-"+id).css({opacity: 1});
return false;
}
});
});
});
Dentro do /url/requisicao que eu falei, vem uma lista de produtos que tem um botão de remover os pedidos.
mas não funciona, só funciona se eu buscar o common.js via $.getScript(); após o $.load()
Você precisa trocar .click() por .on() para funcionar com elementos criados após o carregamento da página.
Dê um exemplo do que não funciona.