当我点击回车时,jquery进入.click功能两次

时间:2015-11-17 09:04:36

标签: jquery

我有一个包含3个字段集的表单。如果用户想要转到第二个字段集,他可以执行此操作,或者单击“下一步”按钮或按Enter键,只有输入部分不能正常工作,因为它会激活输入按钮两次。

我也读过其他文章。但是当我专注并点击输入时(我使用此代码:

    $("#msform").keypress(function(e) {
          e.preventDefault() 
    if(e.which == 13) {
        $(".next").click();
        return false;
    }
});

然后它进入这个功能:

$(".next").click(function (event) {
    event.preventDefault();
    //current_fs current fieldset
    current_fs = $(this).parent();
    next_fs = $(this).parent().next();

    var fv = formValidation(event);
    if (fv) {
    } else {
        return false;
    }

但我一直这样做:

  current_fs = $(this).parent();
    next_fs = $(this).parent().next();

    var fv = formValidation(event);
    if (fv) {
    } else {
        return false;
    }

2次。

我知道

  

因为当焦点在按钮上时点击“Enter”会触发“点击”   事件本地。您还可以获得“按键”活动   再次触发“点击”事件。

但即使是防止默认也不适用于我的情况。

我正在讨论的表单的常规HTML: http://jsfiddle.net/xvxpha7p/<请记住首先关注一个领域。

有人可以帮助谢谢

1 个答案:

答案 0 :(得分:0)

您无法阻止点击事件,因此在点击输入时没有理由触发点击事件。您必须将您的逻辑放在click事件处理程序