Comme vous le savez, la plupart des éditeurs de texte enrichi utilisent iframe pour créer un éditeur WYSIWYG. En iframe contient le document qui est en mode conception. Je souhaite capturer l'événement de touche enfoncée lorsque l'utilisateur appuie sur le caractère '@' dans l'éditeur de texte enrichi pour afficher la saisie semi-automatique. Par ailleurs, je ne peux voir aucun événement déclenché en mode conception. Comment puis-je résoudre cette question?Est-il possible de capturer l'événement KeyDown lorsque le document actuel est en mode conception?
Q
Est-il possible de capturer l'événement KeyDown lorsque le document actuel est en mode conception?
1
A
Répondre
1
Il est parfaitement possible de capturer tous les événements clés dans les documents avec designMode
sous tension, si vous devez utiliser addEventListener
sur document
dans Firefox (et peut-être d'autres) plutôt que d'assigner votre gestionnaire à document.onkeypress
.
Pour capturer l'utilisateur en tapant le caractère '@' (ou en effet tout caractère imprimable), vous devez utiliser l'événement keypress
plutôt que keydown
.
// Assuming you have a reference to your iframe in a variable called 'iframe':
function handleIframeKeyPress(evt) {
evt = evt || iframe.contentWindow.event;
var charCode = evt.keyCode || evt.which;
var charTyped = String.fromCharCode(charCode);
if (charTyped === "@") {
alert("@ typed");
}
}
var doc = iframe.contentWindow.document;
if (doc.addEventListener) {
doc.addEventListener("keypress", handleIframeKeyPress, false);
} else if (doc.attachEvent) {
doc.attachEvent("onkeypress", handleIframeKeyPress);
} else {
doc.onkeypress = handleIframeKeyPress;
}
Questions connexes
- 1. NetFx40_LegacySecurityPolicy en mode conception
- 2. Gérer l'événement KeyDown lorsque ALT + KEY est
- 3. prototype: keydown sur document, arrête d'observer quand en forme
- 4. Est-il possible d'obtenir l'état de défilement en mode javascript?
- 5. Erreur ASP.net en mode conception
- 6. Scala 2.8 Document de conception d'acteur? Document de conception Akka?
- 7. Quoi qu'il en soit, pour découvrir le Windows actuel est en mode verrouillé?
- 8. Masquage des panneaux superposés en mode conception
- 9. Désactiver le redimensionnement des tables dans mozilla en mode conception
- 10. jQuery live keydown ne s'enregistre pas avant le second keydown
- 11. UIImagePickerController en mode caméra est bloqué lorsque l'obturateur est fermé
- 12. Perdre fonctionnalité effleurant en mode sélecteur lorsque iAd est en
- 13. Redimensionnement de TableViewCell lorsque TableView est en mode groupé
- 14. est le modèle de stratégie (modèle de conception) moins utile lorsque le changement est imprévisible?
- 15. Est-il possible de définir "this" en mode anonyme?
- 16. Est-il possible de capturer par programmation JavaScript SyntaxErrors?
- 17. comment déterminer si le navigateur actuel est en mode plein écran dans opera mobile
- 18. Capturer premier caractère en entrant dans le mode d'édition - le contrôle d'édition personnalisé dans DataGridView
- 19. Est-il possible d'utiliser align-regexp en mode wdired (Emacs)?
- 20. Evénement KeyDown et drag'n'drop
- 21. Est-il possible d'utiliser jQuery comme Ruby en mode IRB?
- 22. Est-il possible de capturer le flux audio dans le navigateur via flash/js/silverlight?
- 23. Possible de capturer l'événement ComboBox "DroppingDown"?
- 24. Comment obtenir le document actuel uri dans XSLT?
- 25. donner le mode de conception WPF objets par défaut
- 26. comment gérer copier/coller en mode de conception iframe?
- 27. avec le document xhtml, comment on déclenche le mode quirk?
- 28. Obtenir une erreur lorsque le fichier de document Word est générée en utilisant .net
- 29. Définir l'orientation sur Portrait dans une vue lorsque le contrôleur de navigation est en mode portrait
- 30. Est-il possible de définir un élément racine dans un document XML en utilisant le schéma?
Merci. Ça fonctionne bien. Belle publication. –