var flag = false;
$('div.stop').click(function() {flag = true;});
textInput.focusout(function() {
// So long you didn't click div.stop, then
if(!flag)
$('div.box').hide();
});
Если вы хотите избежать добавления переменной-флага, вы можете использовать jQuery .data для хранения значения флага, например, например. элемент div.stop
, например:
$('div.stop').click(function() {$(this).data('clicked', true);});
// ...
if(!$('div.stop').data('clicked'))
// ...
EDIT
Если вы хотите разрешить ситуацию, когда текстовое поле имеет фокус, и затем вы нажимаете div.stop
, и вы не хотите, чтобы оно скрывалось, тогда вы можете попробовать что-то вроде:
$('div.stop').click(function() {$('div.box').stop();});
textInput.focusout(function() {
// So long you didn't click div.stop, then
$('div.box').delay(200).hide();
});