Exemple de Javascript

Cum să înlocuiți textul selectat în TEXTAREA cu altul?

Deoarece poate fi "ciudat" :-), dar ramurile de implementare datorită diferitelor metode de lucru cu selecții în IE și Mozilla / Gecko:

În Internet Explorer, utilizați obiectul de selecție, care reprezintă selecția curentă și metoda createRange care creează obiectul TextRange din selecția curentă. Obiectul primit TextRange are o proprietate de text (pentru citire și scriere), care ne dă textul selectat. Ie citiți TextRange.text, efectuați modificările și scrieți înapoi.

Consultați utilizarea reală în exemplul de mai jos.

Ei bine, aici situația este oarecum diferită: în scopul de a atinge obiectivele folosi proprietățile selectionStart și selectionEnd unui obiect textarea, care conține poziția de început și de sfârșit al selecției, respectiv. Și având textul și știind în el începutul și sfârșitul înlocuirii, putem înlocui ușor fragmentul selectat cu altul folosind, de exemplu, metoda "substr ()".

Textul argumentului este transmis obiectului textarea și numele funcției auxiliare, care ia ca argument un text selectat și returnează un text nou care înlocuiește textul selectat. După înlocuirea textului, cursorul este poziționat la sfârșitul selecției.

Cum mă mută (set) cursorul de text la începutul sau la sfârșitul câmpului de introducere a textului sau la intrare?

Internet Explorer ne permite să facem acest lucru folosind următoarele metode.

createTextRange () - această metodă creează un obiect de tip TextRange (interval de text) și vă permite să manipulați textul. Un interval de text gol este un cursor - un punct de inserare.

colaps () - acest obiect metoda TextRange îngustează intervalul de text la 0 (se transformă într-un șoarece (la punctul de inserare)) și stabilește punctul de inserare sau partea superioară a intervalului (colapsul (adevărat) sau un colaps (), deoarece valoarea implicită este adevărat) sau până la sfârșit (colaps (fals)).

select () - mierea obiectului TextRange pentru a fi utilizată pentru selectarea vizuală a textului inclus în interval. În cazul unui interval gol, setați pur și simplu cursorul de text.

ca argument, obiectul elementului de intrare este trecut la f-jam, de exemplu: moveCaretToStart (document.formName.textareaName)

setSelectionRange (start, end) - această metodă creează o selecție de text în cazul în care începutul și sfârșitul coincid setați cursorul în poziția dorită

După înlocuirea textului selectat, selecția dispare. Cum se face ca selecția să rămână?

Pentru a face acest lucru, după înlocuirea textului, selectați din nou textul utilizând metoda setSelectionRange (start, end).

Cum se obține poziția cursorului de text în elementul textarea (textarea - poziția cursorului)?

Un obiect textarea este trecut ca argument.

De exemplu: getCaretPos (document.formName.textareaName);

Cum se obține numărul de rânduri într-un element textarea?

Observați cum sunt contorizate liniile:

  • dacă câmpul text este gol, atunci funcția returnează 0 (deși cursorul clipește în prima linie), deoarece rândurile nu sunt într-adevăr acolo;
  • dacă apăsați pe "Enter" și cursorul sa mutat pe o linie nouă, nu înseamnă că a apărut o nouă linie. Atunci când introduceți ceva pe această linie, linia va apărea într-adevăr și va fi luată în considerare la numărare.

Explicații: clientHeight returnează înălțimea elementului textarea fără a lua în considerare toate liniuțele, marginile, barele de derulare;

boundingHeight returnează dimensiunea în pixeli a unui spațiu imaginar ocupat de obiectul TextRange (în acest caz, obiectul conține tot textul și, astfel, se întoarce înălțimea ocupată de textul în elementul textarea).

Preveniți selectarea textului

Dacă doriți, puteți introduce restricții privind lungimea totală. Nume de utilizator poate fi de până la 64 de caractere, și numele de domeniu de până la 255 de caractere (RFC 2821), și, în loc de o z0-9_ specifica echivalentul clasei de caractere \ w (pe care nu am făcut în scopul clarității).

Introduceți adresa dvs. de e-mail pentru verificare:

Pentru a face o redirecționare mai universală cu o întârziere, scrieți următorul cod în secțiunea HEAD a documentului HTML:

Cum obțin un număr zecimal într-o reprezentare hexazecimală (convertirea unui număr zecimal la un număr hexazecimal)?

Exemplu: Deseori găsită și descrisă mai jos, opțiunea pe care nu trebuie să o utilizați, deoarece nu trebuie să reinventezi roata! Este corect să folosiți metoda toString (radix), obiectul Number, unde radix specifică baza numărului (de la 2 la 36) utilizat pentru conversie. Dacă parametrul radix nu este specificat, valoarea implicită este 10.

De exemplu, rgb (255,255,255) sau rgb (100%, 100%, 100%) în FFFFFF. În același timp, funcția extinde înregistrarea culorilor hexazecimale abreviate la plin, de exemplu, #FAE în FFAAEE. Valoarea hexazecimală a culorii este returnată fără #.

Cum se obține separat valorile culorilor roșu (roșu), verde (verde), albastru (albastru) din valorile culorii RGB? splitRGB, HEX2RGB

De exemplu, culoarea Lime (# 00FF00, rgb (0,255,0) sau rgb (0%, 100%, 0%)) pentru a obține o serie de trei elemente (0,128,0), unde elementul de zero în matrice corespunde roșu primului verde, și al doilea este albastru.

Cum se obține valoarea #HEX a culorii după numele ei?

Pentru a genera un număr întreg pseudo-aleator de la 0 la n inclusiv, se folosește următoarea formulă:

Pentru a genera un număr întreg pseudo-aleator în intervalul de la m la n inclusiv, se folosește următoarea formulă:

unde m este limita inferioară a intervalului și n este limita superioară a intervalului.

Mai jos este o funcție pentru generarea de numere aleatorii în intervalul de la m la n:

Cum se amestecă o matrice aleatoriu?

Cum să mut textul în alt rând în fereastra de alertă?

Foarte simplu, utilizați caracterul de rupere a liniei \ n.

Atenție vă rog! Într-un fișier html, textul din interiorul alertei ar trebui să meargă într-o singură linie fără cratime, deoarece în unele browsere poate apărea eroare "Eroare: literal șir neterminat".

Cum șterg un element de matrice? / Cum adaug un element în mijlocul matricei?

Pentru a șterge un element dintr-o matrice asociativă, utilizați operatorul de ștergere

Operatorul de ștergere este acceptat începând cu Nav2 +, NES3 +, IE 4+, Opera3 +

Notă: Lungimea șterge operatorul de proprietate nu se schimbă, dar este pentru tablouri asociative nu este important, deoarece lungimea este întotdeauna pentru ei este 0. Cu toate acestea, pentru matrice numerice este extrem de important și amintiți-l! De ce nu se schimbă proprietatea pe lungime? Deoarece Array.length - acest lucru nu este lungimea de matrice, iar indicele matrice maximă care a fost doar în matrice, deși de multe ori lungimea este exact lungimea matrice. Apropo, proprietatea lungime poate fi atribuită valorilor, trunchind astfel matricea sau extindând matricea cu elemente noi cu valoarea "undefined".

Pentru a elimina elemente dintr-o matrice numerică sau pentru a insera elemente cu indexuri și proprietăți de lungime, utilizați metoda de îmbinare a obiectului Array.

Sintaxă: array.splice (start, delete, arg3 .argN)

start - numărul care specifică indexul de la care ar trebui eliminate obiectele și / sau inserarea de elemente noi
delete - un parametru opțional care indică numărul de elemente care urmează a fi șterse începând cu începerea indexului
Arg3. argN - parametrii opționali care vor fi inserați în matrice ca elemente noi începând cu începerea indexului

Dacă "șterge" este un număr mai mare decât zero, elementele care încep de la indexul "start" la elementul cu indexul start + ștergere vor fi eliminate din matrice. Dacă ștergerea este zero, atunci nimic nu va fi șters. Dacă ștergerea nu este specificată, atunci toate elementele de la indexul "start" până la sfârșitul matricei vor fi șterse. Dacă sunt specificate argumente pentru argumentul de ștergere, ele vor fi adăugate la matrice ca elemente începând cu indexul "start". Elementele existente sunt renumerotate în direcția unor indici mai înalți care dau loc elementelor noi.

Metoda de îmbinare a obiectului Array este acceptată pornind de la Nav4 +, IE5.5 +, Opera5 +

Notă: rețineți că indexul primului element din matrice începe cu 0.

Cum pot afla ce proprietăți are obiectul (pentru)?

Cum știu toate proprietățile unui obiect? Acest lucru este ajutat de operatorul for in

Esența operatorului este următoarea: cu fiecare iterație a buclei, variabila "variabilă" este atribuită numele următoarei proprietăți a obiectului "obiect".

Luați în considerare o funcție care iterează prin proprietățile obiectului și le returnează împreună cu valorile ca șir:

Cum să verificați dacă imaginea a fost încărcată în browser (este descărcarea de imagini inclusă)?

Pentru a face acest lucru, puteți utiliza evenimentul "onLoad" al imaginii, dacă imaginea este încărcată, atunci evenimentul menționat va fi executat, dacă nu, atunci nu.

Ie Pentru a verifica dacă imaginile din browser sunt afișate, puteți pune următoarele informații pe pagină:

Și acum zbura în unguent: Opera execută evenimentul onLoad () chiar dacă imaginea nu este afișată, dar este în cache, adică a fost încărcat și stocat anterior în memoria cache. Sper că acesta este un comportament temporar :-(

Dacă utilizați biblioteca jQuery, atunci funcția trim este deja definită în ea și se numește: $ .trim ().

Puteți obține caracterul prin codul său utilizând metoda fromCharCode a obiectului String.
De exemplu: var c = String.fromCharCode (84);

Cum se face referire la un element de formă în numele căruia există paranteze pătrate "[]"?

Cum să marcați / marcați / selectați toate casetele de selectare din grup?

Mai întâi, toate elementele chechbox-ului din grup sunt date cu același nume (atributul name al etichetei de intrare). Dacă trimiteți script-ul de date în PHP, este convenabil pentru a da numele forma nume = „cboxdata []“ cu paranteze vkontse nume de script în PHP date au fost disponibile printr-o matrice cboxdata. Acum, pentru a marca sau a elimina toate marcajele din casetele de selectare pe care doriți să apelați funcția checkAll (oForm, cbName, verificat), în cazul în care oForm - în formă de obiect, cbName - șir ienem elemente din caseta de grup, și verificate este fie adevărat, sau fals, în funcție de ceea ce ai nevoie , marcați sau eliminați marcajele.

Cum să selectați toate valorile din celulele tabelului (cum să ocolească tabelul cu celule)?

Sarcina: există un tabel cu atributul id = "idWalkTable" și trebuie să ocoliți toate rândurile și în ele toate celulele și să le atârnați conținutul.

Bypass tabela getElementById - Returnează elementul cu identificatorul specificat.
getElementsByTagName - Returnează colecția tuturor elementelor care au această etichetă.

Cum de a învăța / modifica valoarea atributului de clasă al unui element (proprietatea className)?

exemplu: . , arata ca elementul Span este atribuit doua clase (bigText si greenText).

Având în vedere cele de mai sus, este imposibil de utilizat atribuire simplă, cum ar fi: elem.className = „greenText“, astfel încât să nu suprascrie alte valori posibile, și ar trebui să fie noua valoare adăugată la existente prin spațiu (deși, dacă sunteți sigur că className proprietatea este gol, atunci desigur puteți utiliza o alocare simplă).

Pentru a verifica prezența unei clase și a șterge, utilizați expresia regulată: / \ bgreenText \ b /. unde \ b este o construcție specială (metacharacter) care denotă limita cuvântului, adică expresia regulată caută stringul greenText. care este cuvântul real și nu face parte dintr-un alt cuvânt (un cuvânt înseamnă o linie fără delimitatori: spații, semne de punctuație etc.). Utilizarea wildcard \ b este doar dreptul, dar există un lucru, nu toate browserele să înțeleagă (de exemplu, Opera 6 și mai jos). Prin urmare, dacă aveți nevoie de sprijinul „curbe“ și browsere mai vechi, ar trebui să înlocuiască expresia regulată „/ \ bimya clasa \ b /“, un mod mai puțin elegant „/ (^ |) nume de clasă ($ |) /“.

* IE4 +, Gecko, Opera7 +. înțelegeți \ b conform așteptărilor.

Pentru a face acest lucru, vom folosi evenimentul onerror al obiectului ferestrei.

sau puteți atribui o funcție care gestionează acest eveniment pentru a reveni la adevărat pentru a suprima mesajul de eroare

Când apare o eroare, se face apelul la eveniment și se transmit parametrii următori: textul mesajului, adresa URL, numărul liniei cu eroare. Pentru a le utiliza choby le declare ca argumente în descrierea funcției de tratare a: myErrHandler funcția (msg, URL-ul, LNO).

Rețineți că tot ce se află în script după codul care a provocat eroarea nu va fi executat!

Cum știu câte documente scrolling sunt derulate (scrollLeft, scrollTop)? De ce este scrollLeft, scrollTop întotdeauna egal cu zero? Cum derulez conținutul unei ferestre pentru documente?

Aflați cât de mult obiectul este scrolled în jos sau la stânga sau derulați prin ea la un anumit velechiny poate folosi proprietățile și obiectul scrollTop scrollLeft.

Notă: pentru browserele mai vechi Netscape (4-6), Opera 5, trebuie să utilizați proprietățile pageXOffset, pageYOffset

Articole similare