Почему не работает?
function inpurLimit(){
		var maxLen = 20;
		var $this = $(this);
		if($this.val().length> maxLen){
			$this.val($this.val().substr(0, maxLen));
		}
		var stringLength=$this.val().length;
		if(stringLength<= maxLen){
			$(this).next('div').first().text(maxLen-stringLength);
		}
	}
	$("input").keydown(inpurLimit());
И как правильно писать функции вне событий, а потом по событию их вызывать?