1

そのため、ユーザーがフォームを送信して統計を生成する方法を検出する必要があります。入力時にエンターを押すか、送信ボタンをクリックすることができます。

クリックイベントをボタンにバインドし、キーアップイベントを入力にバインドしようとしましたが、Enterキーを押すとクリックイベントがトリガーされます。他のスレッドで、これが新しい HTML5 仕様の一部であるか、そのようなものであると読みました。

次に、送信イベントをフォームにバインドし、そのイベントの原因を検出することを考えましたが、これまでのところうまくいきませんでした。それは可能ですか?

編集

私はそれを修正することができたと思います。fortegente で提案されているように、keyup イベントを keypress に変更し、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 に答える