Почему мой блок кода не выполняется после запуска события на iPhone, но прекрасно работает на настольных ПК и Android? - PullRequest
0 голосов
/ 12 мая 2019

Развертывание простого приложения на Heroku с использованием Express (Node.js) и ванильного javascript (1 html-файл и 1 script.js-файл).Все работало нормально, пока я недавно не сменил доменное имя на свое приложение heroku.Мой код прекрасно работает как на Android, так и на рабочем столе.Более конкретно, прослушиватель событий, который я добавил в свой тег ввода, выполняет код без каких-либо проблем.Он работал на iPhone не слишком долго, но внезапно перестал работать на Safari (для настольных ПК) и iPhone (для всех браузеров).

Я попытался отследить проблему, протестировав каждый шаг вперед.к конкретному коду, в этом случае это изменение элементов textContent.Я переключил прослушиватель событий с «ввода» на «нажатие клавиши» и добавил оповещение для запуска на мобильном телефоне при каждом нажатии ожидаемой клавиши (e.keyCode === 13).Я получил предупреждение, чтобы выстрелить, но все после этого не выполняется только на Safari и iPhone (работает нормально на Android и Desktop).Я также попытался удалить анимацию из заданных элементов, а также поиграть вокруг самого тега ввода, но это, похоже, не было проблемой.

adding the event listener to the input tag
input.addEventListener('input', (e) => {
    switch (filterStr('How much would you like to ', howMuch.innerText)) {
      case 'borrow?':
        if (e.value !== '') {
          pay.textContent = 'Repayment timeframe options + interest:';
          console.log(pay);
          pay.style.paddingLeft = '3vw';
          weekOne.textContent = `1 Week = ${filterNum(input.value * 1.01)}`;
          weekOne.style.paddingLeft = '5vw';
          console.log(weekOne);
          weekTwo.textContent = `2 Weeks = ${filterNum(input.value * 1.025)}`;
          weekTwo.style.paddingLeft = '5vw';
          console.log(weekTwo);
          month.textContent = `1 Month = ${filterNum(input.value * 1.06)}`;
          month.style.paddingLeft = '5vw';
          console.log(month);
        //   pay.classList.add('animated', 'fadeInLeft', 'slower');
        //   weekOne.classList.add('animated', 'fadeInLeft', 'slower', 'delay-1s');
        //   weekTwo.classList.add('animated', 'fadeInLeft', 'slower', 'delay-2s');
        //   month.classList.add('animated', 'fadeInLeft', 'slower', 'delay-3s');
        }
        break;

Вы можете посетить этот сайт, чтобы увидеть ожидаемый результат (отлично работает как на Android, так и на ПК):

https://spot -me-123.herokuapp.com / calculator / (использует прослушиватель событий «нажатие клавиши» (ввод))

...