检测TAB按键并使脚本执行成为条件

时间:2012-08-06 10:40:26

标签: javascript jquery dom

我有以下脚本

   $('.formfield:not(.NoHighlight, #P_PH_PHONE, #P120_PH_EMAIL) :input').focus(function(e){


            var currentElementonForm = $(this); 
            if(currentElementonForm.is("input[type=submit]")){
                currentElementonForm.parents('form').submit();
            }

    });

目前,当用户选中(keyborad TAB按钮)到提交按钮时,页面会提交。我想停止这个,但只有当用户点击没有标签到按钮时才这样做。希望,问题很清楚,很高兴再给出细节。我确实尝试检测e.keyCode == 9但它将其记录为“未定义”。

2 个答案:

答案 0 :(得分:0)

enter code here编辑:由于keyCode无法正常工作,我们可以采用不同的方式处理此问题吗?

$('.formfield input[type=submit]').click( function() {
      $(this).parents('form').submit();
  });

  $('.formfield:not(.NoHighlight, #P_PH_PHONE, #P120_PH_EMAIL) :input').focus(function(e){
            var currentElementonForm = $(this); 
            if(currentElementonForm.is("input[type=submit]")){
                var code = e.keyCode || e.which;
                if (code !== 9) {
                    currentElementonForm.parents('form').submit();
                }

            }

    });

答案 1 :(得分:0)

我必须找到另一种方法来处理这个问题。问题出在“focus”事件即使使用TAB键也不会返回keyCode。所以必须使用不同的解决方案。这对我来说是新鲜事,希望这可能会使有同样问题的人受益。