suchen
HeimWeb-Frontendjs-TutorialSo erstellen Sie ein automatisch expandierendes TextArea JQuery-Plugin, Teil 1

automatisch wachsende Textbereiche sind auf Websites wie Facebook sehr beliebt. Die Höhe des Textesbereichs des Textbereichs erweitert und schrumpft entsprechend der vom Benutzer eingegebenen Textmenge. Dies hat mehrere Vorteile:

  1. Ihr Seitendesign wird nicht von großen Textgebietsfeldern dominiert.
  2. Online -Formulare mit mehreren Textbereichen sehen kürzer und einfacher aus.
  3. Benutzer können den gesamten Text ohne Scrollen anzeigen.

Die erweiterte Textbereichsdemonstration anzeigen ...

Dieses dreiteilige Tutorial beschreibt, wie ein automatisch erweiterter Textbereich mit HTML und wiederverwendbarem JQuery-Plug-In erstellt wird. Am Ende des dritten Teils werden Sie verstehen, wie es funktioniert und Code hat, die in Ihrem eigenen Projekt verwendet werden können.

Bedarf

Wie alle guten Entwickler sollten wir die Systemanforderungen vollständig verstehen:

  1. Jeder Textbereich auf jeder Seite sollte automatisch erweitert werden, wenn wir ihn benötigen.
  2. Einige Textbereiche erfordern jedoch möglicherweise keine automatische Expansion.
  3. Wir müssen angeben können, dass die Höhe des Textbereichs (a) unendlich wachsen oder (b) innerhalb eines bestimmten Bereichs wachsen kann, beispielsweise die optimale Höhe zwischen 50 und 200 Pixel.
  4. Unsere Lösung sollte auf jeder Seite, die wir auswählen, wiederverwendbar sein.
  5. Die
  6. fortschrittliche Verbesserungstechnologie sollte verwendet werden, um sicherzustellen, dass Benutzer ohne JavaScript weiterhin das Feld Standardtextbereich verwenden können.
  7. Diese Lösung sollte mit IE6, Firefox 2, Oper, Safari und Chrom kompatibel sein.

Vorschlag

Wir implementieren die Lösung als JQuery -Plugin. JQuery wird hauptsächlich für allgemeine Aspekte wie Dom -Sniffing und Event -Delegieren verwendet.

Woher wissen wir jedoch, wann wir den Textbereich und welche Höhe die Größe ändern sollten?

Zunächst können wir jedem Textbereich einen "KeyUp" -Eventhandel zuweisen. Dadurch wird eine Funktion unmittelbar nach dem Drücken der Taste aufgerufen und der Text geändert.

Wir können dann die DOM ScrollHeight -Eigenschaft überprüfen. Dadurch wird die Höhe des internen Scrolling -Teils zurückgegeben, d. H. Die Höhe des vom Benutzer eingegebenen Textes. Wenn wir die Höhe des Textbereichs auf den aktuellen Schriftrollenwert einstellen, wird die Bildlaufleiste irrelevant. Leider ist ScrollHeight keine W3C-Empfehlung, und wir müssen einige Cross-Browser-Inkonsistenzen überwinden:

  • In Firefox, Safari und Chrom ist Scrollheight nie kleiner als die Höhe des Textbereichs - auch wenn der Text nicht hinzugefügt wird. Das Box erweitert sich also, aber das Entfernen des Textes schrumpfen ihn nicht. Wir können dieses Problem lösen, indem wir die Höhe des Textbereichs auf 0PX vorübergehend einstellen und dann den tatsächlichen -Regrollenwert anwenden.
  • Im Gegensatz zur Dokumentation von Mozilla ScrollHeight scheinen Firefox keine Textpolsterung zu enthalten, während Safari 4 und Chrome 2 es enthalten. Wenn wir oben und unten 2PX -Polster haben, wird ScrollHeight im Webkit -Browser 4px größer und die Höhe der Textfläche wächst unendlich. Durch das Subtrahieren der Polsterung wird Firefox gebrochen. Die einfachste Lösung besteht darin, die vertikale Polsterung der 0px auf unsere erweiterten Textbereichselemente anzuwenden.
  • scrollheight ist in IE und Oper komisch. In der Regel wird die wahre Höhe des internen Textes zurückgegeben. Die Festlegung der Textbereichshöhe auf 0PX gibt jedoch einen falschen Schriftrollenwert zurück. Während Browser -Schnüffeln schrecklich ist, glaube ich nicht, dass wir in diesem Fall andere Optionen haben. Wir müssen sicherstellen, dass IE und Opera die Höhe des Textbereichs niemals auf 0PX einstellen.
Wir müssen auch die Bildlaufleiste berücksichtigen. Standardmäßig zeigen die meisten Browser bei Bedarf nur den Textbereich Scroll -Balken an. Wenn wir jedoch über den Überlauf auf "automatisch" einstellen, wird die Bildlaufleiste angezeigt, wenn wir eine neue Zeile hinzufügen und dann verschwinden, wenn wir die Höhe des Textbereichs ändern. Wenn Sie den Überlauf auf "versteckt" einstellen, wird das Problem der blinkenden Bildlaufleiste behoben. Dies darf jedoch niemals auf nicht erweiterte Textbereiche oder Textbereiche angewendet werden, die über ihre angegebene maximale Höhe hinaus erweitert wurden.

Schließlich kann das Browserfenster die Größenänderung ein Problem sein. Fluid-Webdesign kann Textbereiche mit einer prozentualen Breite implementieren: Die Größenänderung von Windows wird die Größe des Kästchens ändern. Während wir das Fenster -Größenänderung erkennen können, funktioniert das Ereignis in IE schlecht und ruft schnell Handler an. Wir können dieses Problem lösen, aber die Größe mehrerer Textbereiche kann dazu führen, dass das Seitendesign die Benutzer springt und verwirren kann. Nach der Größenänderung werden wir also nur die Höhe des Textbereichs anpassen, nachdem sich der Benutzer auf das Box konzentriert.

Es gibt viele Inhalte zu absorbieren, und es gibt noch mehr! Machen Sie sich eine Tasse Kaffee und machen Sie sich bereit für den zweiten Teil ...

    Teil 2: Initialisierung der Textfläche
  • Teil 3: JavaScript -Plugin -Code
  • So entwickeln Sie JQuery Plug-In

How to Build an Auto-Expanding Textarea jQuery Plugin, Part 1

Das obige ist der detaillierte Inhalt vonSo erstellen Sie ein automatisch expandierendes TextArea JQuery-Plugin, Teil 1. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Python vs. JavaScript: Auswählen des richtigen Tools für den JobPython vs. JavaScript: Auswählen des richtigen Tools für den JobMay 08, 2025 am 12:10 AM

Ob die Auswahl von Python oder JavaScript vom Projekttyp abhängt: 1) Wählen Sie Python für Datenwissenschafts- und Automatisierungsaufgaben aus; 2) Wählen Sie JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung. Python ist für seine leistungsstarke Bibliothek in der Datenverarbeitung und -automatisierung bevorzugt, während JavaScript für seine Vorteile in Bezug auf Webinteraktion und Full-Stack-Entwicklung unverzichtbar ist.

Python und JavaScript: Verständnis der Stärken der einzelnenPython und JavaScript: Verständnis der Stärken der einzelnenMay 06, 2025 am 12:15 AM

Python und JavaScript haben jeweils ihre eigenen Vorteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1. Python ist leicht zu erlernen, mit prägnanter Syntax, die für Datenwissenschaft und Back-End-Entwicklung geeignet ist, aber eine langsame Ausführungsgeschwindigkeit hat. 2. JavaScript ist überall in der Front-End-Entwicklung und verfügt über starke asynchrone Programmierfunktionen. Node.js macht es für die Entwicklung der Vollstapel geeignet, die Syntax kann jedoch komplex und fehleranfällig sein.

JavaScripts Kern: Ist es auf C oder C aufgebaut?JavaScripts Kern: Ist es auf C oder C aufgebaut?May 05, 2025 am 12:07 AM

JavaScriptisnotbuiltoncorc; Es ist angehört, dass sich JavaScriptWasdedeSthatrunsonGineoFtencninc.

JavaScript-Anwendungen: Von Front-End bis Back-EndJavaScript-Anwendungen: Von Front-End bis Back-EndMay 04, 2025 am 12:12 AM

JavaScript kann für die Entwicklung von Front-End- und Back-End-Entwicklung verwendet werden. Das Front-End verbessert die Benutzererfahrung durch DOM-Operationen, und die Back-End-Serveraufgaben über node.js. 1. Beispiel für Front-End: Ändern Sie den Inhalt des Webseitentextes. 2. Backend Beispiel: Erstellen Sie einen Node.js -Server.

Python vs. JavaScript: Welche Sprache sollten Sie lernen?Python vs. JavaScript: Welche Sprache sollten Sie lernen?May 03, 2025 am 12:10 AM

Die Auswahl von Python oder JavaScript sollte auf Karriereentwicklung, Lernkurve und Ökosystem beruhen: 1) Karriereentwicklung: Python ist für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet, während JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung geeignet ist. 2) Lernkurve: Die Python -Syntax ist prägnant und für Anfänger geeignet; Die JavaScript -Syntax ist flexibel. 3) Ökosystem: Python hat reichhaltige wissenschaftliche Computerbibliotheken und JavaScript hat ein leistungsstarkes Front-End-Framework.

JavaScript -Frameworks: Stromversorgung moderner WebentwicklungJavaScript -Frameworks: Stromversorgung moderner WebentwicklungMay 02, 2025 am 12:04 AM

Die Kraft des JavaScript -Frameworks liegt in der Vereinfachung der Entwicklung, der Verbesserung der Benutzererfahrung und der Anwendungsleistung. Betrachten Sie bei der Auswahl eines Frameworks: 1. Projektgröße und Komplexität, 2. Teamerfahrung, 3. Ökosystem und Community -Unterstützung.

Die Beziehung zwischen JavaScript, C und BrowsernDie Beziehung zwischen JavaScript, C und BrowsernMay 01, 2025 am 12:06 AM

Einführung Ich weiß, dass Sie es vielleicht seltsam finden. Was genau muss JavaScript, C und Browser tun? Sie scheinen nicht miteinander verbunden zu sein, aber tatsächlich spielen sie eine sehr wichtige Rolle in der modernen Webentwicklung. Heute werden wir die enge Verbindung zwischen diesen drei diskutieren. In diesem Artikel erfahren Sie, wie JavaScript im Browser ausgeführt wird, die Rolle von C in der Browser -Engine und wie sie zusammenarbeiten, um das Rendern und die Interaktion von Webseiten voranzutreiben. Wir alle kennen die Beziehung zwischen JavaScript und Browser. JavaScript ist die Kernsprache der Front-End-Entwicklung. Es läuft direkt im Browser und macht Webseiten lebhaft und interessant. Haben Sie sich jemals gefragt, warum Javascr

Node.js Streams mit TypeScriptNode.js Streams mit TypeScriptApr 30, 2025 am 08:22 AM

Node.js zeichnet sich bei effizienten E/A aus, vor allem bei Streams. Streams verarbeiten Daten inkrementell und vermeiden Speicherüberladung-ideal für große Dateien, Netzwerkaufgaben und Echtzeitanwendungen. Die Kombination von Streams mit der TypeScript -Sicherheit erzeugt eine POWE

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen