You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<pclass="tip">**Cette page est en cours de traduction française. Revenez une autre fois pour lire une traduction achevée ou [participez à la traduction française ici](https://github.com/vuejs-fr/vuejs.org).**</p>We can use the `v-on` directive to listen to DOM events and run some JavaScript when they're triggered.
9
+
Nous pouvons utiliser l'instruction `v-on`pour écouter les évènements du DOM afin d'éxécuter du JavaScript lorsque ces évènements surviennent.
10
10
11
-
For example:
11
+
Par exemple :
12
12
13
13
```html
14
14
<divid="example-1">
15
15
<buttonv-on:click="counter += 1">Add 1</button>
16
-
<p>The button above has been clicked {{ counter }} times.</p>
16
+
<p>Le bouton ci-dessus a été cliqué {{ counter }} fois.</p>
17
17
</div>
18
18
```
19
19
```js
@@ -25,12 +25,12 @@ var example1 = new Vue({
25
25
})
26
26
```
27
27
28
-
Result:
28
+
Résultat :
29
29
30
30
{% raw %}
31
31
<divid="example-1"class="demo">
32
32
<buttonv-on:click="counter += 1">Add 1</button>
33
-
<p>The button above has been clicked {{ counter }} times.</p>
33
+
<p>Le bouton ci-dessus a été cliqué {{ counter }} fois.</p>
34
34
</div>
35
35
<script>
36
36
var example1 =newVue({
@@ -42,15 +42,15 @@ var example1 = new Vue({
42
42
</script>
43
43
{% endraw %}
44
44
45
-
## Method Event Handlers
45
+
## Les méthodes des gestionnaires d'évènements
46
46
47
-
The logic for many event handlers will be more complex though, so keeping your JavaScript in the value of the`v-on`attribute simply isn't feasible. That's why`v-on`can also accept the name of a method you'd like to call.
47
+
La logique avec beaucoup de gestionnaires d'évènements sera très certainement plus complexe, par conséquent, gardez votre JavaScript dans la valeur de l'attribut`v-on`ne sera tout simplement pas faisable. C'est pourquoi`v-on`peut aussi accepter le nom d'une méthode que vous voudriez appeler.
48
48
49
-
For example:
49
+
Par exemple :
50
50
51
51
```html
52
52
<divid="example-2">
53
-
<!-- `greet` is the name of a method defined below-->
53
+
<!-- `greet` est le nom de la méthode definie ci-dessous-->
54
54
<buttonv-on:click="greet">Greet</button>
55
55
</div>
56
56
```
@@ -61,28 +61,28 @@ var example2 = new Vue({
61
61
data: {
62
62
name:'Vue.js'
63
63
},
64
-
//define methods under the `methods` object
64
+
//Définissez les méthodes de l'objet
65
65
methods: {
66
66
greet:function (event) {
67
-
// `this` inside methods points to the Vue instance
68
-
alert('Hello'+this.name+'!')
69
-
// `event` is the native DOM event
67
+
// `this` fait référence à l'instance de Vue à l'intérieur de `methods`
68
+
alert('Bonjour'+this.name+'!')
69
+
// `event` est l'évènement natif du DOM
70
70
if (event) {
71
71
alert(event.target.tagName)
72
72
}
73
73
}
74
74
}
75
75
})
76
76
77
-
//you can invoke methods in JavaScript too
78
-
example2.greet() // -> 'Hello Vue.js!'
77
+
//vous pouvez également invoquer ces méthodes en JavaScript
78
+
example2.greet() // -> 'Bonjour Vue.js!'
79
79
```
80
80
81
-
Result:
81
+
Résultat :
82
82
83
83
{% raw %}
84
84
<divid="example-2"class="demo">
85
-
<buttonv-on:click="greet">Greet</button>
85
+
<buttonv-on:click="greet">Dire bonjour</button>
86
86
</div>
87
87
<script>
88
88
var example2 =newVue({
@@ -92,7 +92,7 @@ var example2 = new Vue({
92
92
},
93
93
methods: {
94
94
greet:function (event) {
95
-
alert('Hello'+this.name+'!')
95
+
alert('Bonjour'+this.name+'!')
96
96
if (event) {
97
97
alert(event.target.tagName)
98
98
}
@@ -102,14 +102,14 @@ var example2 = new Vue({
102
102
</script>
103
103
{% endraw %}
104
104
105
-
## Methods in Inline Handlers
105
+
## Méthodes appelées dans les valeurs d'attributs
106
106
107
-
Instead of binding directly to a method name, we can also use methods in an inline JavaScript statement:
107
+
Au lieu de lier directement la méthode par son nom dans l'attribut, nous pouvons également utiliser des méthodes dans une instruction JavaScript :
Sometimes we also need to access the original DOM event in an inline statement handler. You can pass it into a method using the special`$event`variable:
144
+
Parfois nous avons également besoin d'accéder à l'évènement original du DOM depuis l'instruction dans l'attribut. Vous pouvez le passer à une méthode en utilisant la variable spéciale`$event` :
145
145
146
146
```html
147
-
<buttonv-on:click="warn('Form cannot be submitted yet.', $event)">
148
-
Submit
147
+
<buttonv-on:click="warn('Le formulaire ne peut être soumis pour le moment.', $event)">
148
+
Soumettre
149
149
</button>
150
150
```
151
151
152
152
```js
153
153
// ...
154
154
methods: {
155
155
warn:function (message, event) {
156
-
//now we have access to the native event
156
+
//maintenant nous avons accès à l'évènement natif
157
157
if (event) event.preventDefault()
158
158
alert(message)
159
159
}
160
160
}
161
161
```
162
162
163
-
## Event Modifiers
163
+
## Modificateurs d'évènements
164
164
165
-
It is a very common need to call `event.preventDefault()`or`event.stopPropagation()`inside event handlers. Although we can do this easily inside methods, it would be better if the methods can be purely about data logic rather than having to deal with DOM event details.
165
+
C'est un besoin courant que de faire appel ā `event.preventDefault()`ou`event.stopPropagation()`à l'intérieur d'une déclaration de gestionnaire d'évènements. Bien que nous puissions réaliser ceci aisément à l'intérieur des méthodes, il serait préférable que les méthodes restent purement dediées à la logique des données au lieu d'avoir à gérer les détails des évènements du DOM.
166
166
167
-
To address this problem, Vue provides **event modifiers** for `v-on`. Recall that modifiers are directive postfixes denoted by a dot.
167
+
Pour résoudre ce problème, Vue propose des modificateurs d'évènements pour `v-on`. Rappelez-vous que les modificateurs sont des suffixes de directives indiqués par un point.
168
168
169
169
-`.stop`
170
170
-`.prevent`
@@ -173,88 +173,88 @@ To address this problem, Vue provides **event modifiers** for `v-on`. Recall tha
173
173
-`.once`
174
174
175
175
```html
176
-
<!--the click event's propagation will be stopped-->
176
+
<!--la propagation de l'évènement `click` sera stoppée-->
177
177
<av-on:click.stop="doThis"></a>
178
178
179
-
<!--the submit event will no longer reload the page -->
179
+
<!--l'évènement `submit` ne rechargera plus la page -->
180
180
<formv-on:submit.prevent="onSubmit"></form>
181
181
182
-
<!--modifiers can be chained-->
182
+
<!--les modificateurs peuvent être chainés-->
183
183
<av-on:click.stop.prevent="doThat"></a>
184
184
185
-
<!--just the modifier-->
185
+
<!--seulement le modificateur-->
186
186
<formv-on:submit.prevent></form>
187
187
188
-
<!--use capture mode when adding the event listener-->
189
-
<!--i.e. an event targeting an inner element is handled here before being handled by that element-->
188
+
<!--utilise le mode « capture » lorsque l'écouteur d'évènements est ajouté-->
189
+
<!--c-à-d qu'un évènement destiné à un élément interne est géré ici avant d'être géré par ses éléments parents-->
190
190
<divv-on:click.capture="doThis">...</div>
191
191
192
-
<!--only trigger handler if event.target is the element itself-->
193
-
<!--i.e. not from a child element-->
192
+
<!--seulement déclenché si l'instruction `event.target` est l'élément lui-même-->
193
+
<!--c-à-d que cela ne s'applique pas aux éléments enfants-->
194
194
<divv-on:click.self="doThat">...</div>
195
195
```
196
196
197
-
> New in 2.1.4
197
+
> Nouveau dans la 2.1.4
198
198
199
199
```html
200
-
<!--the click event will be triggered at most once-->
200
+
<!--l'évènement « click » sera déclenché au moins une fois-->
201
201
<av-on:click.once="doThis"></a>
202
202
```
203
203
204
-
Unlike the other modifiers, which are exclusive to native DOM events, the `.once`modifier can also be used on [component events](components.html#Using-v-on-with-Custom-Events). If you haven't read about components yet, don't worry about this for now.
204
+
Au contraire des autres modificateurs, qui sont exclusifs aux évènements natifs du DOM, le modificateur `.once`peut également être utilisé pour les [évènements des composants](components.html#Using-v-on-with-Custom-Events). Si vous n'avez pas encore lu la section concernant les composants, ne vous en inquiétez pas pour le moment.
205
205
206
-
## Key Modifiers
206
+
## Modificateurs de code des touches
207
207
208
-
When listening for keyboard events, we often need to check for common key codes. Vue also allows adding key modifiers for `v-on` when listening for key events:
208
+
Lorsque nous écoutons les évènements du clavier, nous avons régulièrement besoin de s'assurer du code des touches. Vue permet également d'ajouter un modificateur de touches pour `v-on`:
209
209
210
210
```html
211
-
<!--only call vm.submit() when the keyCode is 13-->
211
+
<!--faire appel à « vm.submit() » uniquement quand le code de la touche est `13`-->
212
212
<inputv-on:keyup.13="submit">
213
213
```
214
214
215
-
Remembering all the keyCodes is a hassle, so Vue provides aliases for the most commonly used keys:
215
+
Se rappeler de tous les codes des touches est compliqué, c'est pourquoi Vue propose des alias pour les touches les plus couramment employées :
216
216
217
217
```html
218
-
<!--same as above-->
218
+
<!--même exemple que le précédent-->
219
219
<inputv-on:keyup.enter="submit">
220
220
221
-
<!--also works for shorthand-->
221
+
<!--fonctionne également pour les raccourcis-->
222
222
<input@keyup.enter="submit">
223
223
```
224
224
225
-
Here's the full list of key modifier aliases:
225
+
Voici la liste complète des raccourcis de modificateurs pour les touches :
226
226
227
227
-`.enter`
228
228
-`.tab`
229
-
-`.delete` (captures both "Delete" and "Backspace" keys)
229
+
-`.delete` (fonctionne pour les touches « Suppression » et « Retour arrière »)
230
230
-`.esc`
231
231
-`.space`
232
232
-`.up`
233
233
-`.down`
234
234
-`.left`
235
235
-`.right`
236
236
237
-
You can also [define custom key modifier aliases](../api/#keyCodes)via the global `config.keyCodes`object:
237
+
Vous pouvez également [définir des raccourcis personnalisés pour vos modificateurs](../api/#keyCodes)grâce à l'objet global `config.keyCodes` :
238
238
239
239
```js
240
-
//enable v-on:keyup.f1
240
+
//active v-on:keyup.f1
241
241
Vue.config.keyCodes.f1=112
242
242
```
243
243
244
-
## Modifier Keys
244
+
## Modificateurs de raccourcis clavier
245
245
246
-
> New in 2.1.0
246
+
> Nouveau dans la 2.1.0
247
247
248
-
You can use the following modifiers to trigger mouse or keyboard event listeners only when the corresponding modifier key is pressed:
248
+
Vous pouvez utiliser les modificateurs suivants pour déclencher un évènement du clavier ou de la souris seulement lorsque la touche du modificateur correspondante est pressée :
249
249
250
250
-`.ctrl`
251
251
-`.alt`
252
252
-`.shift`
253
253
-`.meta`
254
254
255
-
> Note: On Macintosh keyboards, meta is the command key (⌘). On Windows keyboards, meta is the windows key (⊞). On Sun Microsystems keyboards, meta is marked as a solid diamond (◆). On certain keyboards, specifically MIT and Lisp machine keyboards and successors, such as the Knight keyboard, space-cadet keyboard, meta is labeled “META”. On Symbolics keyboards, meta is labeled “META” or “Meta”.
255
+
> Note: Sur les claviers Macintosh, meta est la touche commande (⌘). Sur Windows, meta est la touche windows (⊞). Sur les claviers Sun Microsystems, meta est symbolisée par un diamant plein (◆). Sur certains claviers, spécifiquement sur les claviers des machines MIT et Lisp et leurs successeurs, comme le clavier « Knight » et « space-cadet », meta est ecrit « META ». Sur les claviers Symboliques, meta est etiqueté « META » ou « Meta ».
256
256
257
-
For example:
257
+
Par exemple :
258
258
259
259
```html
260
260
<!-- Alt + C -->
@@ -264,24 +264,24 @@ For example:
264
264
<div@click.ctrl="doSomething">Do something</div>
265
265
```
266
266
267
-
<pclass="tip">Note that modifier keys are different from regular keys and when used with `keyup` events, they have to be pressed when the event is emitted. In other words, `keyup.ctrl` will only trigger if you release a key while holding down `ctrl`. It won't trigger if you release the `ctrl` key alone.</p>
267
+
<pclass="tip">Notez que ces modificateurs de raccourcis sont différents des modificateurs usuels utilisés avec l'évènement `keyup`, ils doivent être pressés quand l'évènement est émis. En d'autres mots, `keyup.ctrl` sera déclenché uniquement si vous maintenez la touche `ctrl` enfoncée. rien ne sera déclenché si vous relâchez uniquement la touche `Ctrl`.</p>
268
268
269
-
### Mouse Button Modifiers
269
+
### Modificateurs de boutons de la souris
270
270
271
-
> New in 2.2.0
271
+
> Nouveau dans la 2.2.0
272
272
273
273
-`.left`
274
274
-`.right`
275
275
-`.middle`
276
276
277
-
These modifiers restrict the handler to events triggered by a specific mouse button.
277
+
Ces modificateurs n'autorisent la gestion de l'évènement que s'il a été déclenché par un bouton spécifique de la souris.
278
278
279
-
## Why Listeners in HTML?
279
+
## Pourquoi des écouteurs dans le HTML?
280
280
281
-
You might be concerned that this whole event listening approach violates the good old rules about "separation of concerns". Rest assured - since all Vue handler functions and expressions are strictly bound to the ViewModel that's handling the current view, it won't cause any maintenance difficulty. In fact, there are several benefits in using `v-on`:
281
+
Vous pourriez être inquiet du fait que l'ensemble de cette approche d'écoute d'évènements viole la bonne vieille règle de la séparation des préoccupations. Rassurez-vous - puisque toutes les fonctions et expressions sont strictement liées au « ViewModel » qui gère la vue courante, cela ne causera aucune difficulté de maintenance. En realité, il y a plusieurs avantages à utiliser `v-on`:
282
282
283
-
1.It's easier to locate the handler function implementations within your JS code by simply skimming the HTML template.
283
+
1.Il est plus facile de localiser l'implémentation des fonctions gestionnaires dans votre code JS en survolant le code HTML.
284
284
285
-
2.Since you don't have to manually attach event listeners in JS, your ViewModel code can be pure logic and DOM-free. This makes it easier to test.
285
+
2.Comme vous n'avez pas à attacher manuellement les écouteurs dans votre JS, le code du « ViewModel » peut être purement logique et sans DOM. Ceci le rend plus facile à tester.
286
286
287
-
3.When a ViewModel is destroyed, all event listeners are automatically removed. You don't need to worry about cleaning it up yourself.
287
+
3.Quand un « ViewModel » est détruit, tous les écouteurs d'évènements sont automatiquement retirés. Vous n'avez pas à vous soucier de le faire vous-même.
0 commit comments