Jquery сочетает в себе состояние и фокус

У меня есть два условия, которые (если они истинны) выполняют одну и ту же функцию (одно из них - событие 'focusout'):

$(document).ready(function () {


    if($('#id1').val().length != 0 ) {

        $('id2').val($('#id1').val());

    }

    $(document).on('focusout', '#id1', function() {

        $('id2').val($('#id1').val());

    });

})

Мне было интересно, есть ли способ объединить первое условие и событие 'focusout' следующим образом:

    if(condition1 OR in case of 'focusout' event) 
          { 
             do the same;
          }

1 ответ

Я думаю, что лучшее, что вы получите, это вызов той же функции, но с двумя вызывающими:

if ($('#id1').val().length != 0 ) myFunction();
$(document).on('focusout', '#id1', myFunction);

function myFunction() {
    $('id2').val($('#id1').val());
}

Вы не можете комбинировать обработчик событий с условным оператором.

Другие вопросы по тегам