0
我使用最新的moo發行版,並試圖編寫一個函數來評估用戶在事件「keyup」上給出的表達式。只要我的測試通過,我就會自動將焦點放在下一個輸入元素上,以提高用戶體驗和速度,因爲他多次使用表單。Mootools Shift-Tab事件問題
於是我想出了這樣的事情:
var getNextInputElement = function(element){
returns the next input element
}
var checkDay = function(event){
var input = $('booking_day').get('value');
if (input.length > 1 && input < 32) {
$('booking_day').erase('class');
if (!(event.key == "tab")) {
getNextInputElement($('booking_day')).focus();
}
else {
$('booking_day').focus();
}
}
else if(input.length > 1) {
$('booking_day').set('class','error');
}
else {
$('booking_day').erase('class');
}
};
window.addEvent('domready', function() {
$('new_booking').reset();
$('booking_day').addEvent('keyup', checkDay);
$('booking_day').focus();
});
工作正常爲止。但是,如果我嘗試「移動標籤」回到我的輸入字段
getNextInputElement($('booking_day')).focus();
被評估並將焦點重置爲下一個輸入字段。所以用戶不能回滾到先前輸入的數據。我沒有發現任何可能趕上那個換檔標籤事件。由於兩個鍵被按下,所以有兩個事件被觸發。一個用於「標籤」和第二個,但不適用於「移位」。這個事件的event.key.code似乎超出了mootools實現的範圍。
任何人誰可以幫助解決這個問題?
謝謝。 傑森
你真是太好了!非常感謝,正是我所期待的。 – 2010-01-04 20:37:54
沒有probs的傢伙。歡迎。 – Zaje 2010-01-04 20:43:07