@Artur937
junior

Как исправить проблему в Safari (IOS 9.3.5 — ipad 2, iphone 4)?

При клике на блок sub_wrappper открывается блок list.

$('.list').hide();

function char_db(sub, char){			//выдаем разделы
	if( (sub == 1) || (sub == 2) || (sub == 3) ) {
		sub = Number.parseInt(sub);	
		$.ajax({ 
					type: "POST",
					url: "/char",
					data: {asub : sub},
					success:function (resp) {
						let text = JSON.parse(resp);
						for(i = 0; i < text.length; i++){
							$('.charter_i').find('ul').append('<li data="'+ text[i]['id'] + '">' + (i+1) + '. ' + text[i]['names'] +'</li>');
						}
						show_charter(char);	
					}
				}).fail(function () {
					return;
				});
	} else {
		return;	
	}
}

$('.sub_wrapper').on("click", function(){		//обрабатываем клик 
    if (!($('.list.charter_i').hasClass('visi'))) { 	//если не показаны разделы
      let char = $(this);
      let sub = $(this).attr('data');
      char_db(sub, char);	
      } else {
        if ($(this).find('span').hasClass('detected')) {return}
        hide_charter();
      };
    });


Тестировал с iPad 2, iPhone 4- не работает. На iPhone 8 все работает отлично. Как найти ошибку, подскажите? В консоли все ок. Адаптивность проверял на браузере компьютера - тоже все ок (для тф, для планшета)
  • Вопрос задан
  • 284 просмотра
Решения вопроса 1
Chefranov
@Chefranov
Новичок
Попробуй так:
$('.list').hide();

function char_db(sub, char) {
  //выдаем разделы
  if (sub == 1 || sub == 2 || sub == 3) {
    sub = Number.parseInt(sub);
    $.ajax({
      type: "POST",
      url: "/char",
      data: { asub: sub },
      success: function success(resp) {
        var text = JSON.parse(resp);
        for (i = 0; i < text.length; i++) {
          $('.charter_i').find('ul').append('<li data="' + text[i]['id'] + '">' + (i + 1) + '. ' + text[i]['names'] + '</li>');
        }
        show_charter(char);
      }
    }).fail(function () {
      return;
    });
  } else {
    return;
  }
}

$('.sub_wrapper').on("click", function () {
  //обрабатываем клик 
  if (!$('.list.charter_i').hasClass('visi')) {
    //если не показаны разделы
    var char = $(this);
    var sub = $(this).attr('data');
    char_db(sub, char);
  } else {
    if ($(this).find('span').hasClass('detected')) {
      return;
    }
    hide_charter();
  };
});


Там старая iOS с старым Safari и он наверно не поддерживает ES 6
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы