У меня есть крошечная функция, которую я использую, чтобы разрешить только числовой ввод.Он отлично работает в IE, но я не могу заставить его работать в FireFox или Chrome.Этот js-файл загружен в тег сценария моей HTML-страницы.
var numberOnly = function(evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode( key );
var regex = /[0-9]|\./;
if( !regex.test(key) ) {
theEvent.returnValue = false;
}
};
var wireElemToEvent = function(elemId, event, func){
var elem = document.getElementById(elemId);
if (typeof window.event !== 'undefined') {
elem.attachEvent("on" + event, func);
} else {
elem.addEventListener(event, func, true);
}
};
var wireEvents = function(){
wireElemToEvent("tbxQuantity", "keypress", numberOnly);
wireElemToEvent("tbxPhone", "keypress", numberOnly);
wireElemToEvent("tbxZip", "keypress", numberOnly);
};
window.onload = wireEvents;
Chrome сообщает мне
file: /// C: / Documents% 20 и% 20Settings / xxx / Desktop/numbersonly/res/js/numbersonly.js:17Uncaught TypeError: Object # не имеет метода 'attachEvent'
Есть идеи, что я делаю неправильно?
Спасибо за любую помощь, ~ ck