这工作:
var elt = document.getElementById('test');
function saveLastInput(e) {
e.target.setAttribute('last-input', elt.value);
}
function forbidNonNumbers(e) {
var elt = e.target,
newValue = elt.value,
lastInput,
newValueIsForbidden = false;
if (newValue !== '' && !/^[0-9]{1,3}(\.[0-9]{0,2})?$/.test("" + newValue)) {
newValueIsForbidden = true;
}
if (newValueIsForbidden) {
lastInput = elt.getAttribute('last-input');
elt.value = lastInput;
}
}
elt.addEventListener(elt.oninput ? 'input' : 'keyup', forbidNonNumbers);
elt.addEventListener(elt.oninput ? 'input' : 'keyup', saveLastInput); // Insert this line last!
测试在Chrome,FF,IE 11
演示这里:
使用['oninput'](https://developer.mozilla.org/en-US/docs/Web/Events/input)代替'onkeyup'。 – Teemu 2015-02-10 12:44:14
谢谢你......但是apex页面不支持这个属性 – rajasekhar 2015-02-10 13:07:28
在你的问题中没有关于“apex”的内容。它是什么? – Teemu 2015-02-10 13:08:57