提交事件中的点击事件在 chrome 47 中不起作用

Click event inside submit event is not working in chrome 47

我正在尝试使用此代码阻止页面上的提交事件,这样如果我按回车键,它将单击 validate 元素。

$(document).ready(function(){
$("form").submit(function(event){
 event.preventDefault();
 document.getElementById("validate").click();//alert("Something") works fine here
 });
});

但是,当我按下 enter 键时,将焦点保持在任何文本字段上,它会提交带有分配给 form.It 的操作的表单,这并没有像 google 中预期的那样阻止 Submit 事件] chrome 47. 如果我将放置任何 alert 而不是 document.getElementById("validate").click(); 那么它工作正常。这是该页面的 html 代码

<td align="center" width="100%">
<input type="button" value=" Next " id="validate" tabindex="4">
<a id="Proceed" href="#" onclick="mojarra.jsfcljs(document.getElementById('form'),{'Form:Proceed':'Form:Proceed'},'');return false"></a>
<input id="replan" type="submit" name="replan" value="Replan" tabindex="4">
</td>

所以,谁能解释一下为什么这在 chrome 的新版本中不起作用?(它在 chrome 39 中运行良好)

注意:id validate 的事件是使用 addEventListener() 分配的。

我在类似的情况下采取了稍微不同的方式,我在文本框上按下按键并执行 preventDefault 以防止提交表单。

$(document).ready(function(){
    $("input[type='text']").keydown(function(evtObj){
         var code = (e.keyCode ? e.keyCode : e.which);
         if (code==13) {
            e.preventDefault();
        }
    });
});

请参阅有关键捕获的讨论 jQuery - keydown / keypress /keyup ENTERKEY detection?