按键+符号上的Javascript,如何检索它

时间:2014-10-18 22:18:47

标签: javascript jquery html

按键+符号上的Javascript,如何检索

目前,我的输入密钥

有以下脚本
<script type="text/javascript">
$(document).ready(function() {
$(function(){

    $("input[type=text]").keyup(function(e){

        if(e.keyCode == "13")
        {
            var nextIndex = $(this).prop('tabindex') + 1;
            var selectedId = $(this).prop('id');
            var rowSplit = selectedId.split("_");
            var rowIn = rowSplit[1];

            if(selectedId.indexOf("big") > -1)
            {

            bigFunction(rowIn)

            $('[tabindex=' + nextIndex + ']').focus();
            }


    $("form :input").on("keypress", function(e) {
    return e.keyCode != 13;
    });


});
</script>

我想让它适用于例如

我有一个maxlength 4的文本字段

我输入4个随机数,例如1234然后我按下字母+符号,我想将焦点更改为下一个tabindex

我该怎么做,多亏了这么多帮助!!

2 个答案:

答案 0 :(得分:0)

我可能会这样做。仅示例:

$('#element').keypress(function(){
  var v = $(this).val();
  if(v.charCodeAt(v.length-1) === 43){
    // + was pressed
  }
});

答案 1 :(得分:0)

密钥代码是一个整数,你第二次正确编写它。但第一个使用"13"

if(e.keyCode == 13)

可能会更好。 +符号代码也是43(0x2B)。在JavaScript中,您也可以使用'+'.charCodeAt(0),但当然要长得多。

此外,当您按Enter键时,除非您取消默认行为,否则将触发默认按钮:

    e.preventDefault();
    e.stopPropagation();

取消+的默认行为也有助于避免输入中出现+

要在至少有4个字符(数字)时触发自动标签功能,您需要检查输入框值的长度。使用jQuery可能就是这样:

if($(this).val().length >= 4) ...

否则看起来您已经获得了所需的大部分代码,尽管您的代码示例目前缺少一个右大括号(}),所以我不太确定我可以帮助修复代码它的方式。