Есть ли способ получить нажатие элемента на размытие или фокус события? [Дубликат]

0

Как узнать, где был щелчок на размытии или фокусе моего ввода?

Я набросал небольшой пример:

Html:

<div id ="all">
    <div id="whereIsInput">
        <input id="blur"/>
    </div>
</div>

Css:

#whereIsInput{
    height: 100px;
    width: 200px;
    background-color: yellow; 
}

JS:

function onBlur(e){
    jQuery('#all').append('<div>' + e.type + ', ' + e.target.toString() + '</div>')    
}
jQuery('#blur').blur(onBlur);
jQuery('body').on('click', onBlur);

Поэтому вопросы: где был щелчок при размывании?

Я исследую это: 1. не могу найти его в размытии или аргументах события фокуса 2. щелчок по телу происходит позже, затем размытие

  • 1
    AFAIR bind() устарела, вместо этого предлагается on() .
  • 1
    Спасибо! но это не помогает
Теги:
click
target
blur

1 ответ

2

Вы можете установить флаг, чтобы проверить, не произошло ли событие blur до щелчка.

var blurred = false;//blur flag

$(document).on("click", function(){
    if(blurred){
        console.log(this);
        blurred = false;
    }
});

$("input#blur").on("blur", function(){
    blurred = true;//blur occurred
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню