2010-08-04 2 views
1

J'ai affecté un événement click à un bouton, qui récupère un fragment HTML différent et l'injecte dans un élément DIV en utilisant la méthode .html (string).

$('#btnClose').click(function(){ 
    $.get('Content.html',function(data) { 
     $('#EditCategory').html(data); 
    }); 
}); 

La page content.html est comme suit:

<button id="btnNewCategory" type="button">Add new category</button> 
<script type="text/javascript"> 
    $('#btnNewCategory').click(alert('Test')); 
</script> 

Chaque fois que je clique sur le bouton '#btnClose' le contenu de snipper HTML est affiché, mais l'alerte ('Test') est également tiré . J'ai essayé stopPropagation(), preventDefault() et retourne false; et n'ont pas eu de joie. Quelqu'un peut-il faire la lumière sur ce que je fais mal ???

Répondre

1

Votre gestionnaire devrait être comme ceci:

$('#btnNewCategory').click(function() { 
    alert('Test') 
}); 

Ce que vous avez actuellement tire alert('Test')immédiatement et en essayant d'affecter le résultat à un gestionnaire de clic, si vous souhaitez l'exécuter lorsque vous cliquez dessus, l'utilisation une fonction anonyme comme j'ai ci-dessus.

Ce n'est pas un problème de propagation, read here for a better understanding of that, mais un liant un :)

+0

Bien vu !! Je ne sais pas comment je l'ai raté! –

Questions connexes