字符串末尾有 <Enter> 吗?

Does the string have <Enter> at the end?

我有一个文本输入,如果输入是 alpha,就会出现一个 ajax 例程。如果文本条目是数字,我想避免使用 ajax 例程和 运行 不同的(非 ajax)例程,但前提是使用了 Enter 键。我很难确定输入字符串末尾是否有 Enter。

以下无效:

thisVal=$(this).val();      // the user input value
endChar = thisVal.charCodeAt( thisVal.substr(thisVal.length) ) 

if (!isNaN(thisVal) && endhCar == 13){
    //Do the non-ajax routine
}

我也试过 thisVal.substr(-1)。同样的结果。 我如何编写代码来使用或不使用回车键? 帮助将不胜感激。

使用击键事件来识别 <enter>,因为 <enter> 不会影响输入字段的值。这只发生在文本区域。但是,此技术适用于任何可编辑元素。

$("#target").keyup(function(e) {
  var code = e.which;
  if (code == 13) {
    e.preventDefault();
    var data = ($(this).val());
    if (!isNaN(data)) {
      alert("DO numeric AJAX");
    } else {
      alert("DO alphanumeric AJAX");
    }
  }
});
<!DOCTYPE html>
<html>

<head>
  <script src="https://code.jquery.com/jquery-2.2.4.js"></script>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>

<body>
  TYPE AND HIT ENTER:
  <input id="target" type="text" />
  <br>DIFFERENT RESPONSE FOR NUMERIC & ALPHA NUMERIC INPUTS
</body>

</html>