国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Table des matières
demande
proposition
Maison interface Web js tutoriel Comment construire un plugin JQuery en expansion automatique, partie 1

Comment construire un plugin JQuery en expansion automatique, partie 1

Mar 08, 2025 am 12:38 AM

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:

  1. La conception de votre page ne sera pas dominée par les grandes bo?tes de zone de texte.
  2. Les formulaires en ligne avec plusieurs zones de texte semblent plus courts et plus faciles à remplir.
  3. 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:

  1. Toute zone de texte sur n'importe quelle page doit être automatiquement élargie si nous en avons besoin.
  2. Cependant, certaines zones de texte peuvent ne pas nécessiter une expansion automatique.
  3. 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.
  4. Notre solution doit être réutilisable sur toute page que nous choisissons.
  5. 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.
  6. 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

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

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Java vs Javascript: effacer la confusion Java vs Javascript: effacer la confusion Jun 20, 2025 am 12:27 AM

Java et JavaScript sont différents langages de programmation, chacun adapté à différents scénarios d'application. Java est utilisé pour le développement des grandes entreprises et des applications mobiles, tandis que JavaScript est principalement utilisé pour le développement de pages Web.

Commentaires JavaScript: Explication courte Commentaires JavaScript: Explication courte Jun 19, 2025 am 12:40 AM

JavaScriptCommentsaSententialFormantaining, Reading et GuidingCodeEexecution.1) unique-linecomesaUSEUSEFORQUICKEXPLANATIONS.2) Multi-linecommentSExPlainComplexLogicorProvideTailedDocumentation.3) Inlinecomementsclarifypecifications

Comment travailler avec les dates et les heures de JS? Comment travailler avec les dates et les heures de JS? Jul 01, 2025 am 01:27 AM

Les points suivants doivent être notés lors du traitement des dates et du temps dans JavaScript: 1. Il existe de nombreuses fa?ons de créer des objets de date. Il est recommandé d'utiliser les cha?nes de format ISO pour assurer la compatibilité; 2. Get and définir des informations de temps peuvent être obtenues et définir des méthodes, et notez que le mois commence à partir de 0; 3. Les dates de mise en forme manuelle nécessitent des cha?nes et les bibliothèques tierces peuvent également être utilisées; 4. Il est recommandé d'utiliser des bibliothèques qui prennent en charge les fuseaux horaires, comme Luxon. La ma?trise de ces points clés peut éviter efficacement les erreurs courantes.

Pourquoi devriez-vous placer des balises  au bas du ? Pourquoi devriez-vous placer des balises au bas du ? Jul 02, 2025 am 01:22 AM

PlacertagsatthebottomofablogPostorwebPageSerSpracticalPurpossForseo, userexperience, anddesign.1.ithelpswithseobyallowingsechingenginestoaccesskeyword-elevanttagswithoutcluteringtheaincontent..itimproveserexperceenceegmentyepingthefocusonThearrlUl

Javascript contre Java: une comparaison complète pour les développeurs Javascript contre Java: une comparaison complète pour les développeurs Jun 20, 2025 am 12:21 AM

Javascriptispreferredforwebdevelopment, tandis que javaisbetterforlarge-scalebackenSystemsandandroidApps.1)

JavaScript: Exploration des types de données pour un codage efficace JavaScript: Exploration des types de données pour un codage efficace Jun 20, 2025 am 12:46 AM

JavascripthSsevenfundamentalDatatypes: nombre, cha?ne, booléen, indéfini, nul, objet, andymbol.1) nombres usUseadouble-précisformat, utile

Qu'est-ce que l'événement bouillonne et capture dans le DOM? Qu'est-ce que l'événement bouillonne et capture dans le DOM? Jul 02, 2025 am 01:19 AM

La capture d'événements et la bulle sont deux étapes de la propagation des événements dans DOM. La capture est de la couche supérieure à l'élément cible, et la bulle est de l'élément cible à la couche supérieure. 1. La capture de l'événement est implémentée en définissant le paramètre UseCapture d'AdveventListener sur true; 2. événement Bubble est le comportement par défaut, UseCapture est défini sur False ou Omise; 3. La propagation des événements peut être utilisée pour empêcher la propagation des événements; 4. événement Bubbling prend en charge la délégation d'événements pour améliorer l'efficacité du traitement du contenu dynamique; 5. La capture peut être utilisée pour intercepter les événements à l'avance, telles que la journalisation ou le traitement des erreurs. La compréhension de ces deux phases aide à contr?ler avec précision le calendrier et comment JavaScript répond aux opérations utilisateur.

Quelle est la différence entre Java et JavaScript? Quelle est la différence entre Java et JavaScript? Jun 17, 2025 am 09:17 AM

Java et JavaScript sont différents langages de programmation. 1.Java est un langage typique et compilé, adapté aux applications d'entreprise et aux grands systèmes. 2. JavaScript est un type dynamique et un langage interprété, principalement utilisé pour l'interaction Web et le développement frontal.

See all articles