Safari(移动)IOS - 在外部点击时,输入不会失去焦点

时间:2017-06-30 15:20:00

标签: javascript jquery ios css mobile-safari

我正在做一个提供结果的搜索栏(类似于自动填充)但在iOS' Safari在键盘打开时点击输入标签外部时不会失去焦点。

我做了一个简单的jsfiddle来演示再现这个问题的最小代码:

https://jsfiddle.net/coppolaemilio/0bqrLcwe/4/

HTML

<input class="selector" type="text">
<ul>
  <li>element</li>
</ul>

JS(jQuery)

$('.selector').focus(function() {
    $('ul').addClass('visible');
});
$('.selector').focusout(function() {
    $('ul').removeClass('visible');
});

CSS

.selector{
  margin: 20px;
}
ul {
  display: none;
}
ul.visible {
  display: block;
}

1 个答案:

答案 0 :(得分:0)

我设法找到了一个解决方案:

$(document).on('touchstart', function (event) {
  if (!$(event.target).closest('.country-selector').length) {
    if ($('.country-selector').is(":visible")) {
      $('input.country-selector').blur();
    }
  }
});

https://jsfiddle.net/coppolaemilio/0bqrLcwe/5/