🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.javascript
Article #51609

newbie: problem z keyup() z jQuery

#51609
From: jivanmukta
Date: Sat, 21 Nov 2015 15:42
40 lines
2769 bytes
Uczę się JavaScriptu. Na razie jestem kiepski. Mam na formularzu (nazwanym formName) pole textarea (nazwane 'Opis:') i chciałbym żeby użytkownik miał informację ile znaków może jeszcze wprowadzić. Robię to tak (używam jQuery na stronie bo jest mi potrzebne do innych rzeczy):

$('form#' + formName + ' textarea#message').keyup(function () { return onKeyUpAtTextArea('contact', 'message'); });
...
function maxLengthOfArea(textarea, counter) {
    if (textarea.getAttribute('maxlength') >= textarea.value.length) {
        counter.innerHTML = textarea.getAttribute('maxlength') - textarea.value.length;
        return true;
    }
    return false;
}
...
function onKeyUpAtTextArea(controller, elemId) {
    'use strict';
    var formName = getCurrentFormName(controller);
    var currentForm = getCurrentForm(controller);
    var textarea = getFormElement(currentForm, elemId);
    var counter = $('form#' + formName + ' span#' + elemId + '_left')[0];
    return maxLengthOfArea(textarea, counter);
}

Problem w tym, że funkcja onKeyUpAtTextArea nie jest wołana przy naciskaniu klawisza w polu textarea. Debuggując JavaScript zauważyłem, że przy wykonywaniu kodu jQuery:

	// Handle event binding
	jQuery.fn[ name ] = function( data, fn ) {
		return arguments.length > 0 ?
			this.on( name, null, data, fn ) :
			this.trigger( name );
	};

mam:

fn == /\r?\n/g
data == "ReferenceError: data is not defined"
name == ""
jQuery.fn.name == undefined

Czy to może być przyczyną tego że onKeyUpAtTextArea nie jest wywoływana?
Rozwiązanie mi działało, ale po przerobieniu strony na responsywną przestało działać.
Jak rozwiązać problem?
Technical Details
Message-ID: <d8bb1c55-aa00-4bbb-bb65-862e4f875852@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!mv3no236192igc.0!news-out.google.com!f23ni219qge.0!nntp.google.com!f78no1209018qge.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Received: by 10.66.139.70 with SMTP id qw6mr16546892pab.47.1448120572784;        Sat, 21 Nov 2015 07:42:52 -0800 (PST)
X-Received: by 10.140.81.49 with SMTP id e46mr364384qgd.10.1448120572540; Sat, 21 Nov 2015 07:42:52 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!mv3no236192igc.0!news-out.google.com!f23ni219qge.0!nntp.google.com!f78no1209018qge.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.javascript
Date: Sat, 21 Nov 2015 07:42:52 -0800 (PST)
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=89.72.94.100; posting-account=Y8V58QoAAACtLuF8lEt8MaiUjYUTCWP6
NNTP-Posting-Host: 89.72.94.100
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d8bb1c55-aa00-4bbb-bb65-862e4f875852@googlegroups.com>
Subject: newbie: problem z keyup() z jQuery
From: jivanmukta@poczta.onet.pl
Injection-Date: Sat, 21 Nov 2015 15:42:52 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit