js функция вызывается дважды (одна в документе готова, одна после добавления нового элемента dom), выполняется дважды - PullRequest
0 голосов
/ 28 марта 2020

У меня есть функция с методом щелчка. После нажатия на элемент с именем класса, я хочу что-то сделать. я вызвал эту функцию в документе готов. и jquery метод добавления добавляет элемент dom с этим именем класса. и я хочу вызвать это снова, чтобы снова работать с этой функцией. но эта функция времени вызывается дважды. пожалуйста, проверьте код ниже для понимания.

function function_name() {
    $('.selector').on('click',function () {
        //do something
        console.log('a')
    });
}

$(document).ready(function(){
    function_name();
});

// after jquery append - a element with selector class is adding in dom.
// this call is inside a ajax call to bind that click with new dom element
function_name();

Это добавляет 'a' дважды в консоли.

Как предотвратить это?

1 Ответ

0 голосов
/ 28 марта 2020

Вы должны удалить один из ваших вызовов на function_name(), потому что это вызывает этот метод дважды.

Время first вызывается в вашем последнем выражении function_name().

// after jquery append - a element with selector class is adding in dom
function_name();

секунда время вызывается при загрузке документа.

$(document).ready(function(){
    function_name();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...