Событие Keyup не запускается только в браузере Safari?

В остальных браузерах работает нормально

Всякий раз, когда я набираю число, я получаю событие keyup во всех мобильных и компьютерных браузерах, кроме Safari, проблема в том, что событие keyup/keydown не срабатывает в Safari.

Я пробовал со всеми возможными событиями привязки и триггера. Я хочу изменить значение на основе пользовательского ввода, а не увеличивать количество с помощью кнопок + или -

var gotlist = [];

$('.count-val').trigger('keyup', function(e) {
  debugger;
  //console.log(" keyup triggered");

  if (e.keyCode === 13) $(this).trigger('input');
}).on('input', function(e) {
  var countid = $(this).attr("id");
  //console.log(e.keyCode + " keyup triggered");
  var val = Number($(this).val());
  if (val <= 0 || isNaN(val)) {
    for (var i = 0; i < gotlist.length; i++) {
      if (gotlist[i].id == countid) {
        gotlist.splice(i, 1);
        $("#disp_" + countid).remove();
      }
    }
    $(this).val("");

  } else {

    for (var i = 0; i < gotlist.length; i++) {
      if (gotlist[i].id == countid) {
        gotlist[i].count = val;
      }
    }
  }
  maindisp();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<li class="list-item">
  <div class="dispcount">
    <i class="fa fa-minus-circle" onclick="reducecount({'id':'item_2','area':'8','count':'1'});></i>
    <span><input type=" number " class="count-val " inputmode="numeric " pattern="[0-9]* " title="Non-negative integral number " id="item_4 " value=" "></span>
    <i class="fa fa-plus-circle addcount " aria-hidden="true " onclick="addvalues({'id':'item_2','area':'8','count':'0'}); "></i>
    </div>
    Bed
 </li>


person Mano CC    schedule 05.10.2018    source источник
comment
Пожалуйста, обновите фрагмент, который я сделал для вас, с помощью соответствующих jQuery, HTML и CSS. Ваш onclick недействителен. Вам не хватает })"   -  person mplungjan    schedule 05.10.2018
comment
Нам не хватает функций reducecount, addvalues, maindisp и var gotlist Также у вас ДВЕ ошибки в {'id':'item_4','count':'1'}   -  person mplungjan    schedule 05.10.2018


Ответы (2)


$("#search").on('input propertychange',function(){
  //do something
}

Я предполагаю, что у вас проблемы с IOS, событие «keyup» не поддерживается оригинальной IOS. Вы можете связать js-событие «input» и «propertychange» для прослушивания.

person Yang Daniel    schedule 05.10.2018

нажмите вручную на клавиатуре, все заработает!

person captain vespuci    schedule 05.10.2018
comment
Добро пожаловать в СО. Пожалуйста, будьте более внимательны, чтобы написать правильный ответ. Например, с помощью проверки орфографии и правильной пунктуации. - person mplungjan; 05.10.2018