Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按键上的Javascript+;签名,我如何取回它_Javascript_Jquery_Html - Fatal编程技术网

按键上的Javascript+;签名,我如何取回它

按键上的Javascript+;签名,我如何取回它,javascript,jquery,html,Javascript,Jquery,Html,键按+符号上的Javascript,如何检索它 目前,我为我的enter键获得了以下脚本 <script type="text/javascript"> $(document).ready(function() { $(function(){ $("input[type=text]").keyup(function(e){ if(e.keyCode == "13") { var nextIndex = $(this)

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

目前,我为我的enter键获得了以下脚本

<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>

$(文档).ready(函数(){
$(函数(){
$(“输入[类型=文本]”).keyup(函数(e){
如果(例如,keyCode==“13”)
{
var nextIndex=$(this).prop('tabindex')+1;
var selectedId=$(this.prop('id');
var rowspilt=selectedId.split(“”);
var rowIn=rowspilt[1];
如果(选择ID.indexOf(“大”)>-1)
{
大函数(rowIn)
$('[tabindex='+nextIndex+']')。focus();
}
$(“形式:输入”)。在(“按键”,功能(e){
返回e.keyCode!=13;
});
});
我希望它能为我工作

我得到了一个最大长度为4的文本字段

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


我该怎么做,谢谢你的帮助!!

我可能会这样做。仅举个例子:

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

键代码是一个整数,您在第二次正确编写了它。但第一次使用的是
“13”

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

此外,当您按enter键时,将触发默认按钮,除非您取消默认行为,如中所示:

    e.preventDefault();
    e.stopPropagation();
取消
+
的默认行为也有助于避免输入中出现
+

要在至少有4个字符(可能是数字)时触发自动制表符功能,您需要检查输入框值的长度。jQuery可能类似于此:

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

否则,尽管您的代码示例当前缺少右大括号(
}
),但看起来您已经获得了所需的大部分代码,因此我不太确定我是否能帮助修复代码。

我尝试过,如果在num lock处使用+号,结果是107,如果我按住shift键,然后按+号,如何捕获
e.keyCode===13
is
enter
,默认情况下也会提交表单。
if($(this).val().length >= 4) ...