看起來像這是蒙面輸入插件的一個功能。您可以嘗試修改插件,方法是更換以下方法,然後在調用它時將noshift選項設置爲true(警告我對此進行了最低限度的測試,但似乎可行) - $('#showTime')。mask ( 「99:99:99」,{noshift:真});
function shiftL(pos) {
if(!settings.noshift){
while (!tests[pos] && --pos >= 0);
for (var i = pos; i < len; i++) {
if (tests[i]) {
buffer[i] = settings.placeholder;
var j = seekNext(i);
if (j < len && tests[i].test(buffer[j])) {
buffer[i] = buffer[j];
} else
break;
}
}
}
writeBuffer();
input.caret(Math.max(firstNonMaskPos, pos));
};
function keypressEvent(e) {
if (ignore) {
ignore = false;
//Fixes Mac FF bug on backspace
return (e.keyCode == 8) ? false : null;
}
e = e || window.event;
var k = e.charCode || e.keyCode || e.which;
var pos = $(this).caret();
if (e.ctrlKey || e.altKey || e.metaKey) {//Ignore
return true;
} else if ((k >= 32 && k <= 125) || k > 186) {//typeable characters
var p = seekNext(pos.begin - 1);
if (p < len) {
var c = String.fromCharCode(k);
if (tests[p].test(c)) {
if(!settings.noshift) shiftR(p);
buffer[p] = c;
writeBuffer();
var next = seekNext(p);
$(this).caret(next);
if (settings.completed && next == len)
settings.completed.call(input);
}
}
}
return false;
};
來源
2010-04-01 17:13:52
Lee
謝謝,這個伎倆! – Andrew 2010-04-01 17:59:45