Функция $(".actionsAdListnTo").click
срабатывает дважды. Я пробовал различные решения, размещенные в StackOverflow, но ничего не работало.Функция вызывается дважды для каждого щелчка
В чем причина двойного стрельбы по любым указателям.
Как этого избежать?
$(".actionsAdListnTo").click(function (e) {
$('#actionsAdListnTo').slideToggle();
});
$(".ddlAddListinTo li").click(function() {
var urlstring = "../ActionTypes";
var ddlselectedVal = $(this).attr('id');
var $form = $("#frmPostToEmailReports");
var selectedListinsCount = selected_Listings.length;
var SelectedMlsnums = selected_Listings.join();
if (ddlselectedVal != "None" && ddlselectedVal != "select") {
//*********** To Cart Functionality
if (ddlselectedVal == 'Tocart') {
if (selectedListinsCount > 500) {
if ($('#errmesg').length == 0) {
$('.messageCenter').append('<span id="errmesg" class ="errmesg"> <span class="messageIcon"></span><span>The maximum number of listings you may select To Add to cart is 500.</span></span>');
return false;
}
} else {
$.post(urlstring,
function (data) {
$(window.open(urlstring, '_blank', 'width=750, height=400')).load(function (e) {
var $formCopy = $("#frmPostToEmailReports").clone();
$($formCopy).append('<input id="SelectedMlsnums" name="SelectedMlsnums" type="hidden" value="' + SelectedMlsnums + '">');
// Here "this" will be the popup window. insert a form element into the popup window.
$(this.document).find("#divfrmInfo").html($formCopy);
e.preventDefault();
});
});
}
}
}
});
HTML:
<div class="actionsAdListnTo">
<span> <a href="#" id="select" class="ClearData">Add Listing To</a></span>
<ul id="actionsAdListnTo" class="ddlAddListinTo" style="display: block;">
<li id="Tocart">To CART</li>
<li id="Toportal">To Portal</li>
<li id="SaveListings">Save Listing</li>
</ul>
</div>
Поскольку события кипящим вы столкнулись с этой проблемой. – Sai
Кроме того, в этом конкретном сценарии я считаю более правильным прикрепить событие toggle к 'a' непосредственно, а не к внешнему' div'. Мало того, что он решает пузырь событий, но также делает ваш код более конкретным с намерением. Вы хотите, чтобы 'div' переключал список или ссылку? Более того, если вы добавите больше элементов с событиями в 'div', вам не нужно постоянно беспокоиться о пузырьках событий и добавлять« stopPropagation »повсюду только ради этого. – Nope