Ваш код должен работать, вот пример его в действии: http://jsfiddle.net/g3GsE/
Убедитесь, что ваш код упакован так, чтобы он не выполнялся до document.ready
:
$(function() {
$('.numonly').bind('keypress',function(event){
if (event.which > 31 && (event.which < 48 || event.which > 57)) return false;
});
});
Без этого он будет выполнен немедленно, и элементы class="numonly"
не будут найдены ... код должен ждать до document.ready, поэтому он запускается после того, как элементы есть, поэтому селектор находит их .