Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Особенности jQuery в iOS ?! (https://javascript.ru/forum/jquery/48187-osobennosti-jquery-v-ios.html)

Нарек 23.06.2014 23:29

Особенности jQuery в iOS ?!
 
Здравствуйте уважаемые. Есть сайт http://nt-work3.bl.ee/about.html
При нажатии на My Account появляется всплывающее окно. Для пользователей windows все нормально, при клике на любую другую область - всплывающее окно закрывается. А вот на iOS не так. Приходится нажать точно на ссылку что бы оно закрывалось. Прошу сказать с чем это связано, и как можно исправить. Я в jQuery пока не дорос, вот код вызова окна

$("body").ready(function () {
    $('#logout').click(function () {
        setTimeout(function() {
          if ($("#logout-container").is(":hidden")) {
            $('#logout-container').fadeIn();
            $('#logout').toggleClass('log-pressed');}
        }, 100);
    });
});

$("body").click(function (e) {
   if ($(e.target).closest("#logout-container").length) return;
    $("#logout-container").fadeOut();
    $('#logout').removeClass('log-pressed');
    e.stopPropagation();
});


изначально стоял $(document).click(function (e), потом поменял на body (сказали может поможет), ничего не изменилось...

рони 24.06.2014 00:27

Нарек,
может вам добавить отмену перехода по ссылке во 2 строку event.preventDefault() или return false в 8 строку да и в любые другие ссылки которые используются как кнопки

Нарек 24.06.2014 00:53

Я очень вас прошу, ребята, у кого есть гаджет на iOS, протестируйте, пожалуйста. У меня его нет, я могу лишь предположить как будет выглядеть все это :(

Нарек 24.06.2014 23:16

Возможно, кто то еще столкнется с такой проблемой. Вот код который работает.
$(document).ready(function() {
  
    $("body").on("click", "#login", function() {
    setTimeout(function() {
      if ($("#login-container").is(":hidden")) {
      $('#login-container').fadeIn();
      $('#login').toggleClass('log-pressed');}
    }, 100);
  });
  
  $("body").on("click touchmove", function (e) {
     if ($(e.target).closest("#login-container").length) return;
    $("#login-container").fadeOut();
    $('#login').removeClass('log-pressed');
    e.stopPropagation();
  });
  
});


Часовой пояс GMT +3, время: 01:41.