在我的頁面上有我用jQuery綁定的html輸入(type = text)。當用戶按下Enter鍵或在更改值後離開文本框時,我想提交它(使用ajax)。可能使用jQuery進行'輸入'和'更改'的OR綁定?
我創建了一個「輸入」事件,因爲jQuery不提供一個。我其實是從這裏的一篇文章中得到的。它看起來像這樣:
$(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);
)};
問題是當用戶按下「輸入」鍵並且值已更改,submitValue(this)
被調用兩次!
有什麼辦法可以防止這種情況發生?一次提交一次就足夠了:)
難道你的改變已經被調用了嗎?如果您使用表單,更改可能會經常被調用。例如:在textarea中按ENTER鍵調用`change`並調用`enter`。 – Marnix 2011-01-31 13:47:08
@Marnix - 問題是變化IS被調用,隨着輸入。如果更改被調用,我想阻止'enter'觸發器。當用戶按下Enter時,IE不會調用onchange事件。 – Darcy 2011-01-31 14:17:34