jQuery在某些文本元素中选择"输入"并拦截父窗体的提交事件

Tho*_*son 0 forms jquery input

当我在某些文本字段中时,我希望能够停止传播"enter"按键.

基本上只要我确定输入我不想要他们提交的表格,我需要拦截它.(表单被分成"窗口".如果它们不在最后一个窗口中(.win2)那么我不希望它们能够点击输入并提交表单而不会意识到它们只在第一个窗口中.

我希望这是有道理的.

这就是我所拥有的:

$(".win1 :input").keyup(function(e){
    if(e.which === 13){
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用.keyup事件被触发,但我不认为它的return false工作正常.使用e.preventDefault(); e.stopPropagation();也不起作用.是否有一种简单的方法可以submit通过聆听"输入"按键来阻止事件触发表单?

谢谢

Nie*_*els 5

您可以通过普通按钮替换您的输入类型="提交",这将执行类似于$("form").submit();数据合法的操作,否则永远不会触发提交.

通常这应该工作:

$(".win1 :input").keypress(function(e){
  if(e.which === 13){
        e.preventDefault();
        e.stopPropagation();
    }
});
Run Code Online (Sandbox Code Playgroud)