🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: newbie: problem z keyup() z jQuery

#51612
From: Cezary Tomczyk
Date: Mon, 23 Nov 2015 10:22
46 lines
3033 bytes
W dniu 11/21/2015 o 4:42 PM, jivanmukta@poczta.onet.pl pisze:
> 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?

Najlepiej by było, gdybyś wyizolował ten przykład na 
http://jsfiddle.net/ i sprawdził czy tam zadziała. To pierwszy krok.

A co do mieszania czystego JavaScriptu z jQuery - da się, ale czasem dla 
zachowania spójności kodu brnie się tylko w jQuery :-(

-- 
Cezary Tomczyk
http://www.ctomczyk.pl/
Technical Details
Message-ID: <83661$5652e8f8$6def49cc$2822@nntpswitch.blueworldhosting.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!nntpswitch.blueworldhosting.com!not-for-mail
References: <d8bb1c55-aa00-4bbb-bb65-862e4f875852@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!nntpswitch.blueworldhosting.com!not-for-mail
Subject: Re: newbie: problem z keyup() z jQuery
Newsgroups: pl.comp.lang.javascript
References: <d8bb1c55-aa00-4bbb-bb65-862e4f875852@googlegroups.com>
From: Cezary Tomczyk <cezary.tomczyk@gmail.com>
Date: Mon, 23 Nov 2015 11:22:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101  Thunderbird/38.3.0
MIME-Version: 1.0
In-Reply-To: <d8bb1c55-aa00-4bbb-bb65-862e4f875852@googlegroups.com>
Message-ID: <83661$5652e8f8$6def49cc$2822@nntpswitch.blueworldhosting.com>
X-Complaints-To: abuse@blueworldhosting.com
Organization: BWH Usenet NNTPSwitch-Cluster
Lines: 46
NNTP-Posting-Date: Mon, 23 Nov 2015 05:22:48 -0500
X-Trace: 836615652e8f8c84aec6902822
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit