Comment faire Ctrl + V ou Coller pas déclencher la fonction keyup
TWICE?
C’est un problème pour moi parce que j’ai créé une fonctionnalité de saisie semi-automatique et qu’elle affiche deux fois les mêmes données lorsque je les colle dans une zone de texte. J’espère que cela a plus de sens maintenant.
MODIFIER:
Ok les gars, j’ai découvert comment détecter Ctrl + V avec $('#this-id').bind('paste', function() {});
Mais maintenant, une autre question de suivi est de savoir comment le combiner avec keyup
afin que lorsque vous paste
, l’ keyup
ne se déclenche plus.
Ok les gars, merci à vous tous pour vos réponses, mais au fil de mes lectures, beaucoup de blogs disent ceci: ” Si vous implémentez une fonctionnalité de saisie semi-automatique, NE comptez PAS sur la fonction ‘keyup’ ”
J’ai donc changé mon code en $('#this-id').bind('input', function() {});
Et cela a fonctionné, je n’ai pas à m’inquiéter maintenant de coller ou quoi que ce soit d’autre. J’espère que cela aide les autres aussi.
tu peux essayer ça
$(window).on('keyup', function (event) { if (!event.ctrlKey) { /* here your code for all keys besides CTRL ;-) */ } });
Vous pouvez utiliser l’effet anti-soulignement du trait de soulignement pour définir le délai de lecture de l’événement de frappe.
Voir le code de travail à:
JSFiddle
JS:
var count = 0; function lookup() { $('div#test').html($('input.text').val()); count++; $('div#count').html(count); } $(document).keyup( _.debounce(lookup, 250, true) );
HTML:
Input: Keyup Count:
underscore.js de:
http://documentcloud.github.com/underscore/underscore-min.js