1

因此,我需要检测用户如何提交表单以生成一些统计信息。他们可以在输入时按回车键,也可以单击提交按钮。

我尝试将 click 事件绑定到按钮并将 keyup 事件绑定到输入,但是当我按下 enter 时会触发 click 事件。我在其他线程中读到这是新 HTML5 规范或类似内容的一部分。

然后我想将提交事件绑定到表单并在那里检测该事件的起源,但到目前为止我还没有运气。这甚至可能吗?

编辑

我想我设法解决了它。我将我的 keyup 事件更改为 keypress,就像 fortegente 所建议的那样,并阻止了 defaultEvents 触发,同时触发了表单上的提交事件。这似乎奏效了。

4

1 回答 1

1

您可以尝试添加自定义属性。像这样的东西:

$('form').submit(function(){
   alert($(this).attr('event'));
});

$("button").on('click', function() {
   $("form").prop("event", "click").submit();
});      

$("input").on('keypress', function() {
   if (e.which == 13) {
     $("form").prop("event", "keypress").submit();
   }
});            
于 2013-11-13T21:05:20.940 回答