Я пытаюсь создать панель управления картой, используя D3 - есть четыре выпадающих списка, которые пользователь должен выбрать. Каждый из этих выпадающих списков будет отфильтровывать различные параметры из большого набора данных.
Выбор всех из них даст мне данные, необходимые для создания карты. Я хотел бы запустить функцию drawMap только после того, как были выбраны эти четыре выпадающих параметра.
Я знаю, что можно сделать ниже;
document.getElementById("#idofdropdown").addEventListener("change",function(event){
RUNFUNCTION();
});
Как это сделать в случае нескольких событий? Этот вопрос , похоже, ищет похожее решение с использованием bind, но разработчики предполагают, что это не очень хорошая практика.
В таком случае, как еще можно решить эту проблему?
ОБНОВЛЕНИЕ Я понял это. Я веду счет, в течение первых четырех раз, когда вы делаете выбор, он увеличивает, а затем запускает функцию, а для последующих изменений - запускает функцию снова и снова. Именно то, что мне было нужно.
count = 0
$(function() {
$('.dropdown').change(function() {
count = count + 1
if (count > 4) {
count = count - 1;
}
if (count == 4) {
RUNFUNCTION();
}
});
});