Повторяемая функция JavaScript при нажатии - PullRequest
0 голосов
/ 04 октября 2018

У меня есть этот код, где пользователь нажимает на идентификатор div Open_Waters, и код добавляет геойсон на карту, изменяет текст на «Удалить открытые воды», а затем, когда пользователь нажимает на «Удалить открытые воды», слой получаетудалено.

    $("#Open_Waters").click(function(){
        if ($("#Open_Waters").html()=='Open Waters'){
            open_waters.addTo(map);
            $("#Open_Waters").html("Remove Open Waters");
      } else{
            map.removeLayer(open_waters);
            $("#Open_Waters").html("Open Waters");
        }
    });

работает отлично

Мой вопрос: как я могу создать функцию этого с 3 параметрами

1.div id  2.div text 3.geojson layer

Я пытаюсь сформулировать эту функциюкак

function legend_click(id, id_displayed, layer){
    $("#${id}").click()
        }

Я запутался в функции метода щелчка ...

id = "#Open_Waters"
id_displayes="Open Waters"
layer=open_waters

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Я получил это на работу

function legend_click(id, id_displayed, layer) {
    $(id).click(function () {
        if ($(id).html() == id_displayed) {
            layer.addTo(map);
            $(id).html("Remove " + id_displayed);
        } else {
            map.removeLayer(layer);
            $(id).html(id_displayed);
        }
    })
};
0 голосов
/ 04 октября 2018

.click - ваш прослушиватель событий, поэтому вы хотите вызвать внутри него свою функцию.

$("#Open_Waters").click(function(){
    your_new_function(id, id_displayed, layer) ...
});

function your_new_function(id, id_displayed, layer){...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...