私のページには、jQueryでバインドするhtml入力(type = text)があります。ユーザーが値を変更した後にEnterキーを押すかテキストボックスを終了すると、(ajaxを使用して)送信します。jQueryを使用して「入力」と「変更」をOR結合することは可能ですか?
jQueryが提供しないので、私は "enter"イベントを作成しました。私は実際にここから投稿しました。 (「提出オンに変更入る-か - 」を持つ任意のクラス)
$(document.body).delegate(":input","keyup",function(e){
if(e.which == 13)
$(this).trigger("enter");
});
そして、私のバインディングはそうのように行われます:
$('.submit-on-enter-or-on-change').bind("enter change",function(){
submitValue(this);
)};
問題がときであることは、このようになりますユーザーが 'Enter'キーを押して値が変更された場合、submitValue(this)
が2回呼び出されます。
これを防ぐ方法はありますか?一度に1つの提出は私のために十分です:)
変更が既に呼び出されている可能性はありますか?フォームを使用している場合、変更が頻繁に呼び出される可能性があります。 Ex:テキストエリアでEnterキーを押すと、 'change'が呼び出され、' enter'も呼び出されます。 – Marnix
@Marnix - 問題は変更ISが呼び出されることです。私は変更が呼び出されたときに 'enter'トリガを防ぎたい。ユーザーがenterを押すと、IEはonchangeイベントを呼び出しません。 – Darcy
ぼかしイベントにバインドできませんでしたか?テキストボックスを離れるとき... – Marnix