Article View: pl.comp.lang.javascript
Article #51612Re: newbie: problem z keyup() z jQuery
From: Cezary Tomczyk
Date: Mon, 23 Nov 2015 10:22
Date: Mon, 23 Nov 2015 10:22
46 lines
3033 bytes
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-mailReferences:
<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