Que signifie une entrée CSS non modifiable ?
Dans le processus de développement front-end, l'élément d'entrée est l'un des contrôles de formulaire les plus couramment utilisés. Dans certains cas particuliers, nous devons empêcher les utilisateurs de modifier l'élément d'entrée. À ce stade, nous pensons généralement à définir l'attribut CSS de l'élément d'entrée pour répondre à cette exigence, mais en fait, ce n'est pas une solution réalisable.
En CSS, il existe en effet certains attributs associés qui peuvent être utilisés pour contrôler le comportement et le style des éléments d'entrée, tels que les attributs disabled
et readonly
. Mais ces attributs ne modifient pas essentiellement les attributs CSS de l'élément d'entrée, mais modifient les méthodes d'interaction autorisées pour obtenir l'effet d'interdiction ou de lecture seule. disabled
和 readonly
属性。但这些属性本质上并不是修改 input 元素的CSS 属性,而是改变其允许的交互方式,达到禁止或只读的效果。
我们常常会尝试使用 CSS 属性来实现 input 不可编辑的需求,比如:
input { pointer-events: none; user-select: none; color: gray; background-color: #fafafa; }
这样的 CSS 代码看起来很直接,但实际上却无效,因为 CSS 样式不能直接控制 input 元素中的值。无论你怎么设置,使用 input 元素的 value
属性都可以在 JavaScript 中被修改。
那么,为什么不能直接在 CSS 中修改 input 元素的样式和值?这和 input 元素的特性和用途有关。
首先, input 元素的值应该是由用户自主输入或从其他来源获取,而程序员不应该因为自己的需求而强行修改它。因此,只能通过设置 input 的 disabled
或 readonly
<input type="text" id="myInput" disabled>
value
de l'élément d'entrée. - Alors, pourquoi le style et la valeur de l'élément d'entrée ne peuvent-ils pas être modifiés directement en CSS ? Ceci est lié aux caractéristiques et à l’objectif de l’élément d’entrée.
- Tout d'abord, la valeur de l'élément d'entrée doit être saisie indépendamment par l'utilisateur ou obtenue à partir d'autres sources, et les programmeurs ne doivent pas la modifier de force en raison de leurs propres besoins. Par conséquent, vous pouvez uniquement vous assurer que sa valeur n'est pas modifiée en définissant l'attribut
disabled
oureadonly
de l'entrée. - Dans le même temps, l'élément d'entrée a reçu une sémantique unique dès le début de la conception. Dans une page Web, l'entrée est un contrôle utilisé pour obtenir les données d'entrée de l'utilisateur. Les données d'entrée seront envoyées au serveur d'arrière-plan pour traitement. Si le programmeur peut contrôler directement le style et la valeur de l'entrée, certains risques imprévisibles peuvent survenir, tels que :
Des programmes malveillants peuvent utiliser JavaScript ou des extensions de navigateur pour altérer la valeur de l'entrée, soumettant ainsi des soumissions inappropriées dans le nom de l'utilisateur. Données ;
- Les attaquants de sites Web malveillants peuvent utiliser des attaques CSS pour masquer les données d'entrée et frauder les informations de l'utilisateur ;
- Difficulté de maintenance : lorsque les styles et les valeurs sont soumis à des restrictions de modification en même temps, cela deviendra très difficile de maintenir ces éléments d’entrée.
- Utilisez l'attribut désactivé
- Utilisez l'attribut en lecture seule
<input type="text" id="myInput" readonly>
<input type="text" id="myInput" onkeyup="storeInputValue(this)" > <script> function storeInputValue(input) { input.setAttribute('value', input.value); input.setAttribute('disabled', 'disabled'); } </script>
Surveillance à l'aide de JavaScript
La dernière méthode consiste à utiliser JavaScript pour empêcher la modification de la valeur de l'élément d'entrée. Après les saisies de l'utilisateur, nous pouvons utiliser JavaScript pour stocker la valeur d'entrée et désactiver l'élément d'entrée afin que même si l'utilisateur clique à nouveau, l'élément d'entrée ne puisse pas être modifié. 🎜rrreee🎜Dans ce cas, l'élément d'entrée devient indisponible immédiatement après la saisie de la valeur et l'utilisateur ne peut plus modifier sa valeur. Il convient toutefois de noter que cette solution n’est pas parfaite. 🎜🎜Résumé🎜🎜Grâce à l'introduction ci-dessus, nous pouvons savoir qu'il n'est pas valide d'utiliser des propriétés CSS pour contrôler que la valeur de l'élément d'entrée n'est pas modifiable. Bien que nous puissions obtenir des effets non modifiables en définissant certaines propriétés du contrôle d'entrée lui-même ou en utilisant JavaScript pour surveiller l'entrée. Mais cela doit être fait avec prudence, car les éléments d'entrée ont une sémantique et des fonctions extrêmement importantes dès le début de leur conception, et un contrôle excessif de ceux-ci peut avoir des effets négatifs inattendus. 🎜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!

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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

React combine JSX et HTML pour améliorer l'expérience utilisateur. 1) JSX incorpore du HTML pour rendre le développement plus intuitif. 2) Le mécanisme DOM virtuel optimise les performances et réduit les opérations DOM. 3) Interface utilisateur de gestion basée sur les composants pour améliorer la maintenabilité. 4) La gestion des états et le traitement des événements améliorent l'interactivité.

Le système de réactivité de Vue 2 lutte avec le réglage de l'index de tableau direct, la modification de la longueur et l'ajout / suppression de la propriété de l'objet. Les développeurs peuvent utiliser les méthodes de mutation de Vue et Vue.set () pour assurer la réactivité.

Les composants React peuvent être définis par des fonctions ou des classes, encapsulant la logique de l'interface utilisateur et acceptant les données d'entrée via des accessoires. 1) Définissez les composants: utilisez des fonctions ou des classes pour retourner les éléments de réact. 2) Rendre le composant: React Cappel Render Method ou Exécute le composant de fonction. 3) Composants de multiplexage: passer des données à travers des accessoires pour construire une interface utilisateur complexe. L'approche du cycle de vie des composants permet d'exécuter la logique à différentes étapes, améliorant l'efficacité de développement et la maintenabilité du code.

React est l'outil préféré pour construire des expériences frontales interactives. 1) Réagir simplifie le développement de l'interface utilisateur par la composontisation et le DOM virtuel. 2) Les composants sont divisés en composants de fonction et composants de classe. Les composants de fonction sont plus simples et les composants de la classe fournissent plus de méthodes de cycle de vie. 3) Le principe de travail de React repose sur le DOM virtuel et l'algorithme de réconciliation pour améliorer les performances. 4) La gestion de l'État utilise USESTATE ou This. State, et des méthodes de cycle de vie telles que ComponentDidMount sont utilisées pour une logique spécifique. 5) L'utilisation de base comprend la création de composants et la gestion de l'état, et l'utilisation avancée implique des crochets personnalisés et une optimisation des performances. 6) Les erreurs courantes incluent les mises à jour de statut et les problèmes de performance inappropriés, les compétences de débogage comprennent l'utilisation de Reactdevtools et d'excellents

TypeScript améliore le développement de React en offrant la sécurité du type, en améliorant la qualité du code et en offrant un meilleur support IDE, réduisant ainsi les erreurs et améliorant la maintenabilité.

L'article explique l'utilisation d'un userReducer pour une gestion complexe de l'état dans React, détaillant ses avantages sur UseState et comment l'intégrer avec l'utilisation d'effet pour les effets secondaires.

Les composants fonctionnels de Vue.js sont apatrides, légers et manquent de crochets de cycle de vie, idéaux pour rendre les données pures et optimiser les performances. Ils diffèrent des composants avec état en n'ayant pas d'état ou de réactivité, en utilisant directement les fonctions de rendu, un

React est une bibliothèque JavaScript pour la construction d'interfaces utilisateur, avec ses composants principaux et sa gestion de l'État. 1) Simplifiez le développement de l'interface utilisateur par la composontisation et la gestion de l'État. 2) Le principe de travail comprend la réconciliation et le rendu, et l'optimisation peut être mise en œuvre via React.Memo et UseMemo. 3) L'utilisation de base est de créer et de rendre des composants, et l'utilisation avancée comprend l'utilisation de crochets et de contextapi. 4) Erreurs courantes telles que la mise à jour du statut incorrect, vous pouvez utiliser ReactDevTools pour déboguer. 5) L'optimisation des performances comprend l'utilisation de React.Memo, des listes de virtualisation et de la circulation des codes, et la maintenance de code et maintenable du code est la meilleure pratique.
