Javascript 字符串是否有<;输入>;最后?

Javascript 字符串是否有<;输入>;最后?,javascript,jquery,enter,Javascript,Jquery,Enter,我有一个文本输入,如果输入是alpha,则随后会出现一个ajax例程。如果文本输入是数字的,我希望避免使用ajax例程并运行另一个(非ajax)例程,但仅当使用Enter键时。我很难确定输入字符串的末尾是否有Enter 以下操作不起作用: thisVal=$(this).val(); // the user input value endChar = thisVal.charCodeAt( thisVal.substr(thisVal.length) ) if (!isNaN(th

我有一个文本输入,如果输入是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
}
我也尝试过这个val.substr(-1)。同样的结果。 如何编写代码以使用或不使用enter键?
帮助将不胜感激。

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

$(“#目标”).keyup(函数(e){
var代码=e.which;
如果(代码==13){
e、 预防默认值();
var data=($(this.val());
如果(!isNaN(数据)){
警报(“执行数字AJAX”);
}否则{
警报(“执行字母数字AJAX”);
}
}
});

JS-Bin
键入并按ENTER键:

数字和字母数字输入的不同响应
除非这是文本区域,否则按enter键不会在文本输入中插入字符。您需要捕获按键事件,并以这种方式观察“enter”键。参见示例:是的,关键中风事件是您正在寻找的。换行符仅添加到支持多行输入的元素中。看看我的答案,谢谢。我以后可能会用你的技术。同时,我做了一项变通工作,在数字条目到达ajax例程之前执行(返回false)。如果用户通过按Enter键进行提交,我会为数字输入设置一个on('submit'例程。我希望这是清楚的。