Как узнать, где был щелчок на размытии или фокусе моего ввода?
Я набросал небольшой пример:
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. щелчок по телу происходит позже, затем размытие
Вы можете установить флаг, чтобы проверить, не произошло ли событие 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
});
bind()
устарела, вместо этого предлагаетсяon()
.