仅在Safari浏览器中未触发Keyup事件?

时间:2018-10-05 06:57:55

标签: javascript jquery safari keyup

其余浏览器运行正常

每当我输入数字时,我都会在除Safari之外的所有移动和计算机浏览器中获取keyup事件,问题是Safari中不会触发keyup / keydown事件。

我尝试了所有可能的绑定和触发事件。我希望根据用户输入来更改值,而不是通过+或-按钮

来增加计数

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>

2 个答案:

答案 0 :(得分:0)

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

我猜你对IOS有问题,原始IOS不支持“ keyup”事件。 您可以绑定js事件“ input”和“ propertychange”以进行监听。

答案 1 :(得分:0)

按键盘上的manuallt,它将起作用!