J'ai 2 événements de clic sous un événement de clic pour une fenêtre de dialogue Supprimer jQuery. Qu'est-ce qu'il fait maintenant que lorsque je clique sur Supprimer un cours, il ouvre une boîte de dialogue, et je peux soit cliquer sur "Oui" pour confirmer la suppression, ou "Non" pour fermer la boîte de dialogue.(jQuery) Comment éviter d'enregistrer plusieurs événements de clic sous un autre événement de clic?
Cela fonctionne, mais lorsque je me connecte le bouton "Non" et que je clique deux fois dessus, la console des outils de développement montre que je l'ai cliqué 3 fois. Comme chaque clic après le premier, la console le double. Je ne suis pas en mesure de travailler sur la façon de séparer les événements de clic et encore travailler à l'intérieur de la même boîte de dialogue popup?
<div class="table-content">
..........
@Html.ActionLink("Delete", "Delete", new { id = item.CourseID }, new { @class = "deletebtn", @id = item.CourseID })
</div>
<div id="dialog" title="Delete Department" style="display: none">
<p>Are you sure you want to delete this Course?</p>
<button id="confirm-deletion">Yes</button>
<button id="abort-deletion">No</button>
</div>
<script>
$(function() {
$(".deletebtn").on("click", function (e) {
e.preventDefault();
$('#dialog').dialog();
var btnobj = $(this);
var id = btnobj[0].id;
$('#confirm-deletion').on("click", function() {
var token = $('input[name="__RequestVerificationToken"]').val();
var data = { id: id, __RequestVerificationToken: token };
$.ajax({
type: "POST",
url: "@Url.Action("Delete","Course")",
data: data,
//ajaxasync: true,
success: function() {
$("#dialog").dialog("close");
$('div.table-content').empty().load(' .table-content');
//console.log("success");
},
error: function() {
console.log("failed");
}
});
});
$('#abort-deletion').on("click", function() {
console.log("NoClick");
$("#dialog").dialog("close");
});
});
});
</script>
Je pense que c'est la dernière partie. Lequel serait le bouton parent? Le '(" .deletebtn "). On (" clic ")'? – StraightUp
@StraightUp: Je ne sais pas ce que vous entendez par "bouton parent". Mais que se passe-t-il lorsque vous définissez ces gestionnaires de clic par eux-mêmes au lieu de les définir à chaque clic? Le code dans la question n'implique pas que ces éléments sont créés dynamiquement, c'est simplement une raison commune pour faire ce que vous essayiez de faire. – David
Quand j'ai dit le "bouton parent", je faisais référence à ce que vous avez mentionné, "parent commun". Désolé, comme je suis nouveau à jQuery, je ne suis pas familier avec beaucoup de termes. ... Mais à partir de maintenant quand je sépare chaque événement de clic sous une fonction, le bouton "Non" fonctionne bien car il ferme juste la boîte de dialogue. Mais le bouton "Oui" ne fonctionne pas pour supprimer l'élément lorsque je le confirme. – StraightUp