セルをクリックするとセルが編集可能になるテーブルがあります。セルの内容を変更する場合、AJAX リクエストを実行してデータをデータベースに保存したいのは、次の場合のみです。
- セルの外に焦点を当てる
- エンターキーを押します
問題は、「Enter」を押すとイベントが2回実行され、セルからフォーカスアウトすると1回実行されることです。そして、私はその理由を知っていると思います.enter keypressはフォーカスアウトとしても修飾されます. これはコードです:
$(document).on('focusout keypress', '.row_data', function(event){..}
イベント内でそれを制限しようとしました:
if ( (event.type === "keypress" && event.which === 13) || (event.type === "focusout" && event.which !== 13) ) {...}
残念ながら、それはうまくいきません。
なぜこれが失敗しているのか分かりますか?どうすればそれを機能させることができますか?
前もって感謝します!