Клик вызывается до события focusOut в js - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть элемент ввода, который будет принимать входные данные и фильтровать содержимое , и событие фильтра будет срабатывать, как только пользователь будет сфокусирован от элемента ввода.

Когда пользователь, имеющийсосредоточиться на элементе ввода, и он нажимает одну из кнопок, сначала вызывается событие click, а затем событие focus out, поскольку это создает конфликты при генерации отфильтрованного содержимого.

Я попытался изменить порядок кодаи другие параметры, такие как изменение способа вызова события click - ни один из способов не сработал для меня

 $('body').on('focusout', '.classname', functionname);

 function functionname(e) {
     if (typeof e == 'object') {
     }
 }

 $('body').on('click', '.buttonclass', function (e) {});

Может ли кто-нибудь помочь мне создать событие FocusOut, чтобы сначала вызвать триггер, а затем событие click.

1 Ответ

0 голосов
/ 15 апреля 2019

Исходя из текущих условий, вы должны - в обработчике кликов - получить результат проверки и на основе этого результата решить, должна ли происходить отправка кнопки.

Код JS:

$("#input").focusout(function(){    
    var that = this;    
    valid = this.value.length ? true : false;    
    !valid && window.setTimeout(function() {
        $(that).focus();
    }, 0);            
});


$("#button").click(function(e) {    
    if ( !valid ) { return false; }    
    e.preventDefault();    
    alert('execute your filter)');    
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...