J'ai fondé que si je veux écouter sur tout le document que je dois faire:Comment écouter la touche enfoncée sur tout le document en utilisant JavaScript et Meteor template?
$(document).keydown(function(e) {
console.log(e);
console.log(e.keyCode);
if (e.keyCode == 27) {
$('#tftextinput').value="";
$('#tfbutton').click();
}
});
mais il ne pas écrire quoi que ce soit dans la console ... Je l'ai essayé une autre la version comme ceci:
$(".container.body").keydown(function(e) {
console.log(e);
console.log(e.keyCode);
if (e.keyCode == 27) {
$('#tftextinput').value="";
$('#tfbutton').click();
}
});
ce code est dans le $(document).ready(function() {});
, mais rien ne se passait aussi ...
EDIT:
Si je vous écris ce code dans la console Web, il fonctionne:
Alors pourquoi cela ne fonctionne pas dans mon code de modèle Meteor?
Template.home.onRendered(function() {
$(document).ready(function() {
/*
this method listen if we press "enter" in the research field and click on the button
*/
$('#tftextinput').keypress(function(e) {
if (e.keyCode == 13) {
$('#tfbutton').click();
}
});
$(document).keydown(function(e) {
console.log(e);
console.log(e.keyCode);
if (e.keyCode == 27) {
$('#tftextinput').value="";
$('#tfbutton').click();
}
});
});
});
le premier écouteur est (celui qui écoute tftextinput
)
enfin fonctionne, je viens de le mettre sur un autre endroit merci! – Jerome
Gardez juste à l'esprit que ce code ne disparaîtra pas tout seul automatiquement. Donc, si vous avez ceci dans le rappel 'onRendered', il attachera un écouteur d'événement" keydown "chaque fois que vous rendrez ce modèle. Supposons que vous naviguiez dans les deux sens et que le modèle soit rendu 5 fois de sorte que 5 gestionnaires de raccourcis soient attachés à l'objet fenêtre. Je préconiserais d'aller avec des aides au niveau du template ou si vous avez vraiment besoin d'attacher un écouteur d'événement à 'window', puis de nettoyer dans un callback onDestroyed:' Template.home.onDestroyed (function() {$ (window) .off ("keydown")}) ' –