首页 > 解决方案 > 从触摸屏输入的Jquery查找当前输入

问题描述

我有用户 keypress 和 keydown 来按下当前键,但它在触摸屏上不起作用。

我认为我需要使用.on('input'),但我如何获得该输入?

换句话说。我需要这个在触摸屏上工作:

$('#newtags').keypress(function(e){ 
  if (e.which==13 || e.which==32 || e.which==188){ 
    Do something
  }
});

更新:感谢您的输入。我使用了检查输入字段最后一个字符的方法,并在函数运行时删除最后一个字符:

$('#newtags').on('keyup', function(e){
  var valueofinput= $(this).val();
  var lastcharofinput = valueofinput.substr(valueofinput.length - 1);

  if (e.which==13 || e.which==32 || e.which==188 || e.which==190 || lastcharofinput==' ' || lastcharofinput==',' || lastcharofinput=='.'){
    if (lastcharofinput==' ' || lastcharofinput==',' || lastcharofinput=='.'){
      valueofinput = valueofinput.substr(0, valueofinput.length - 1);
    }
  }
});

标签: jqueryinput

解决方案


与您的问题类似,可以查看以下内容:keyup、keydown 和 keypress 事件在移动设备上不起作用

$('#newtags').on('keydown', function(e){ 
  switch(e.which){
    case 13:
      console.log("Enter Pressed.");
      break;
    case 32:
      console.log("Space Pressed.");
      break;
    case 188:
      console.log("Dash Pressed.");
      break;
  }
});

您也可以使用if()switch()对多种场景都有帮助。


推荐阅读