


Les zones de texte en expansion automatique sont très populaires sur des sites comme Facebook. La hauteur de la zone de zone de texte se développe et rétrécit en fonction de la quantité de texte saisie par l'utilisateur. Cela présente plusieurs avantages:
- La conception de votre page ne sera pas dominée par les grandes boîtes de zone de texte.
- Les formulaires en ligne avec plusieurs zones de texte semblent plus courts et plus faciles à remplir.
- Les utilisateurs peuvent afficher tout le texte sans défiler.
Afficher la démonstration de zone de texte étendue ...
Ce didacticiel en trois parties décrit comment créer une zone de texte étendue automatiquement à l'aide de HTML et du plug-in jQuery réutilisable. À la fin de la troisième partie, vous comprendrez comment cela fonctionne et aurez du code qui peut être utilisé dans votre propre projet.
demande
Comme tous les bons développeurs, nous devons comprendre pleinement les exigences du système:
- Toute zone de texte sur n'importe quelle page doit être automatiquement élargie si nous en avons besoin.
- Cependant, certaines zones de texte peuvent ne pas nécessiter une expansion automatique.
- Nous devons être en mesure de spécifier que la hauteur de la zone de texte peut (a) se développer infiniment, ou (b) se développer dans une plage spécifique, par exemple, utilisez la hauteur optimale entre 50 et 200 pixels.
- Notre solution doit être réutilisable sur toute page que nous choisissons.
- La technologie d'amélioration avancée doit être utilisée pour s'assurer que les utilisateurs sans JavaScript peuvent toujours utiliser la zone de zone de texte standard.
- Cette solution doit être compatible avec IE6, Firefox 2, Opera, Safari et Chrome.
proposition
Nous implémentons la solution en tant que plugin jQuery. JQuery est principalement utilisé pour gérer les aspects plus banals tels que le reniflement DOM et la déléguation des événements; vous pouvez facilement réécrire votre code à l'aide d'un autre cadre.
Cependant, comment savons-nous quand nous devons redimensionner la zone de texte et quelle hauteur utiliser?
Tout d'abord, nous pouvons attribuer un gestionnaire d'événements "Keyup" à n'importe quelle zone de texte. Cela appellera une fonction immédiatement après que la touche soit enfoncée et que le texte est modifié.
Nous pouvons ensuite vérifier la propriété DOM ScrollHeight. Cela renverra la hauteur de la pièce de défilement interne, c'est-à-dire la hauteur du texte entré par l'utilisateur. Si nous définissons la hauteur de la zone de texte sur la valeur actuelle de défilement, la barre de défilement deviendra sans importance. Malheureusement, ScrollHeight n'est pas une recommandation W3C, et nous devons surmonter certaines incohérences entre les navigateurs:
- Dans Firefox, Safari et Chrome, ScrollHeight n'est jamais plus petit que la hauteur de la zone de texte, même si le texte n'est pas ajouté. Ainsi, la boîte se développe, mais la suppression du texte ne le rétrécira pas. Nous pouvons résoudre ce problème en définissant temporairement la hauteur de la zone de texte sur 0px, puis en appliquant la valeur réelle ScrollHeight.
- Contrairement à la documentation de Mozilla ScrollHeight, Firefox ne semble pas inclure le rembourrage de la zone de texte, tandis que Safari 4 et Chrome 2 le contiennent. Si nous avons un rembourrage de 2px en haut et en bas, ScrollHeight sera 4px plus grand dans le navigateur WebKit et la hauteur de la zone de texte augmentera infiniment. La soustraction du rembourrage cassera Firefox, donc la solution la plus simple consiste à appliquer le rembourrage vertical de 0px à nos éléments de zone de texte étendus.
- ScrollHeight est bizarre dans IE et Opera. Il renvoie généralement la véritable hauteur du texte interne, cependant, la définition de la hauteur de la zone de texte à 0px renvoie une valeur de défilement incorrecte. Bien que le reniflement du navigateur soit terrible, je ne pense pas que nous ayons d'autres options dans ce cas. Nous devons nous assurer que IE et Opera ne définissent jamais la hauteur de la zone de texte à 0px.
Nous devons également considérer la barre de défilement. Par défaut, la plupart des navigateurs affichent uniquement les barres de défilement de zone de texte en cas de besoin. Cependant, si nous définissons le débordement sur "Auto", la barre de défilement apparaîtra lorsque nous ajoutons une nouvelle ligne, puis disparaîtrons lorsque nous changeons la hauteur de la zone de texte. La définition du débordement sur "caché" résoudra le problème de la barre de défilement clignotante, mais cela ne doit jamais être appliqué à des zones de texte non étendues ou à des zones de texte qui ont été étendues au-delà de leur hauteur maximale spécifiée.
Enfin, le redimensionnement des fenêtres du navigateur peut être un problème. La conception de sites Web fluides peut implémenter des zones de texte avec une largeur basée sur le pourcentage: le redimensionnement des fenêtres redimensionnera la boîte. Bien que nous puissions détecter le redimensionnement des fenêtres, l'événement fonctionne mal dans IE et appelle rapidement les gestionnaires. Nous pouvons résoudre ce problème, mais la redimensionnement de plusieurs zones de texte peut entraîner des sauts et confondre la conception des pages et confondre les utilisateurs. Ainsi, après le redimensionnement, nous allons ajuster la hauteur de la zone de texte après que les commutateurs utilisateur se concentrent sur la case.
Il y a beaucoup de contenu à absorber, et il y en a plus! Faites-vous une tasse de café et préparez-vous pour la deuxième partie ...
- Partie 2: Initialisation de la zone de texte
- Partie 3: Code du plugin JavaScript
- comment développer le plug-in jQuery
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Python et JavaScript ont leurs propres avantages et inconvénients en termes de communauté, de bibliothèques et de ressources. 1) La communauté Python est amicale et adaptée aux débutants, mais les ressources de développement frontal ne sont pas aussi riches que JavaScript. 2) Python est puissant dans les bibliothèques de science des données et d'apprentissage automatique, tandis que JavaScript est meilleur dans les bibliothèques et les cadres de développement frontaux. 3) Les deux ont des ressources d'apprentissage riches, mais Python convient pour commencer par des documents officiels, tandis que JavaScript est meilleur avec MDNWEBDOCS. Le choix doit être basé sur les besoins du projet et les intérêts personnels.

Le passage de C / C à JavaScript nécessite de s'adapter à la frappe dynamique, à la collecte des ordures et à la programmation asynchrone. 1) C / C est un langage dactylographié statiquement qui nécessite une gestion manuelle de la mémoire, tandis que JavaScript est dynamiquement typé et que la collecte des déchets est automatiquement traitée. 2) C / C doit être compilé en code machine, tandis que JavaScript est une langue interprétée. 3) JavaScript introduit des concepts tels que les fermetures, les chaînes de prototypes et la promesse, ce qui améliore la flexibilité et les capacités de programmation asynchrones.

Différents moteurs JavaScript ont des effets différents lors de l'analyse et de l'exécution du code JavaScript, car les principes d'implémentation et les stratégies d'optimisation de chaque moteur diffèrent. 1. Analyse lexicale: convertir le code source en unité lexicale. 2. Analyse de la grammaire: générer un arbre de syntaxe abstrait. 3. Optimisation et compilation: générer du code machine via le compilateur JIT. 4. Exécuter: Exécutez le code machine. Le moteur V8 optimise grâce à une compilation instantanée et à une classe cachée, SpiderMonkey utilise un système d'inférence de type, résultant en différentes performances de performances sur le même code.

Les applications de JavaScript dans le monde réel incluent la programmation côté serveur, le développement des applications mobiles et le contrôle de l'Internet des objets: 1. La programmation côté serveur est réalisée via Node.js, adaptée au traitement de demande élevé simultané. 2. Le développement d'applications mobiles est effectué par le reactnatif et prend en charge le déploiement multiplateforme. 3. Utilisé pour le contrôle des périphériques IoT via la bibliothèque Johnny-Five, adapté à l'interaction matérielle.

J'ai construit une application SAAS multi-locataire fonctionnelle (une application EdTech) avec votre outil technologique quotidien et vous pouvez faire de même. Premièrement, qu'est-ce qu'une application SaaS multi-locataire? Les applications saas multi-locataires vous permettent de servir plusieurs clients à partir d'un chant

Cet article démontre l'intégration frontale avec un backend sécurisé par permis, construisant une application fonctionnelle EdTech SaaS en utilisant Next.js. Le frontend récupère les autorisations des utilisateurs pour contrôler la visibilité de l'interface utilisateur et garantit que les demandes d'API adhèrent à la base de rôles

JavaScript est le langage central du développement Web moderne et est largement utilisé pour sa diversité et sa flexibilité. 1) Développement frontal: construire des pages Web dynamiques et des applications à une seule page via les opérations DOM et les cadres modernes (tels que React, Vue.js, Angular). 2) Développement côté serveur: Node.js utilise un modèle d'E / S non bloquant pour gérer une concurrence élevée et des applications en temps réel. 3) Développement des applications mobiles et de bureau: le développement de la plate-forme multiplateuse est réalisé par réact noral et électron pour améliorer l'efficacité du développement.

Les dernières tendances de JavaScript incluent la montée en puissance de TypeScript, la popularité des frameworks et bibliothèques modernes et l'application de WebAssembly. Les prospects futurs couvrent des systèmes de type plus puissants, le développement du JavaScript côté serveur, l'expansion de l'intelligence artificielle et de l'apprentissage automatique, et le potentiel de l'informatique IoT et Edge.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.