65 votes

Comment gérez-vous oncut, oncopy et onpaste dans jQuery?

Le jQuery documentation dit que la bibliothèque a un support intégré pour les événements suivants: du flou, de la concentration, de la charge, de redimensionner, de défilement, de décharger, clic, double clic, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, de modification, de sélectionner, de les soumettre, keydown, keypress, keyup et de l'erreur.

J'ai besoin de gérer de couper, copier et coller des événements. La meilleure façon de le faire? FWIW, je n'ai besoin de vous soucier de WebKit (lucky me!).

Mise à JOUR: je suis en train de travailler sur un "widget" dans un tableau de bord de l'environnement. Il utilise WebKit, donc il est vraiment important (pour ma part) si ces événements sont pris en charge il y a, on dirait qu'ils sont.

91voto

Már Örlygsson Points 6861

Vous pouvez ajouter et supprimer des événements de toute nature à l'aide de la .on() et off() méthodes

Essayez, par exemple

jQuery(document).on('paste', function(e){ alert('pasting!') });

jQuery est en fait tout à fait indifférent de savoir si le type d'événement que vous affectez est pris en charge par le navigateur, de sorte que vous pouvez assigner des types d'événements pour les éléments (et en général des objets) tels que:

jQuery('p').on('foobar2000', function(e){ alert(e.type); });

Dans le cas de la coutume types d'événements, vous devez d' .trigger() "manuellement" dans votre code, comme ceci:

jQuery('p').trigger('foobar2000');

Neat hein?

En outre, de travailler avec les propriétaires/custom DOM événements dans un cross-browser compatible façon, vous pouvez avoir besoin d'utiliser/d'écrire un "événement jQuery plugin" ... exemple de ce qui peut être vu dans jquery.event.wheel.js Brandon Aaron Molette de la souris plugin

14voto

dansays Points 1031

Divers événements du presse-papiers sont disponibles en Javascript, même si le support est incomplet. QuicksMode.org a une grille de compatibilité et une page de test . Les événements ne sont pas exposés via jQuery. Vous devrez donc étendre la bibliothèque ou utiliser des événements Javascript natifs.

9voto

Josh Bush Points 1938

Mozilla prend en charge un événement "d'entrée" pour lequel j'ai des difficultés à trouver une documentation utile. À tout le moins, je sais que ça tire sur la pâte.

    this.addEventListener('input',
    function(){//stuff here},
    false
   );
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X