Dans un bloc d'un texte monospace, existe-t-il un extrait javascript ou un plugin JQuery qui se coordonne (ligne & col du texte, pas pageX & pageY) du caractère sous le curseur de la souris et met en surbrillance le caractère?Comment obtenir des coordonnées de caractères dans un bloc de texte?
1
A
Répondre
2
Voici un code que j'ai piraté ensemble pour le faire. Il enveloppe tous les caractères du <pre>
avec un <span>
. Les <span>
s utilisent onmouseover
et onmouseout
pour mettre en surbrillance le caractère et placer la ligne et la colonne dans le <div>
sous le <pre>
.
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<style type="text/css">
#coordText {
font-family: "Courier New", Courier, monospace;
overflow: auto;
}
</style>
<script type="text/javascript" >
function showinfo(row, col) {
$('div#info').html("row " + row + ", col " + col);
$('#r' + row + 'c' + col).css('background-color', '#ddd');
}
function hideinfo(row, col) {
$('div#info').html('');
$('#r' + row + 'c' + col).css('background-color', '#fff');
}
$(document).ready(function() {
var text = $("#coordText").text();
var html = '';
var col = 1;
var row = 1;
for (var i=0; i<text.length; i++) {
if (text.charAt(i) == '\n' || text.charAt(i) == '\r') {
if (i > 0 && text.charAt(i-1) == '\r')
continue;
row++;
col = 1;
html += '<br />';
} else {
html += '<span id="r' + row + 'c' + col;
html += '" onmouseover="showinfo(' + row + ', ' + col;
html += ')" onmouseout="hideinfo(' + row + ', ' + col;
html += ')">' + text.charAt(i) + '</span>';
col++;
}
}
$("#coordText").html(html);
});
</script>
</head>
<body>
<pre id="coordText">Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Pellentesque imperdiet velit ut sem pulvinar pulvinar.
Sed sed molestie justo. Mauris blandit est sit amet lacus cursus et porta lorem gravida.
Nunc eget leo id diam faucibus lobortis non volutpat est. Fusce facilisis consectetur congue.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras sodales lectus et ligula luctus sit amet ornare sem dignissim.
Nunc fringilla tempus leo in accumsan.
Cras facilisis quam non arcu mollis pretium.
In hac habitasse platea dictumst. Maecenas vitae turpis ante.
Cras lorem mauris, iaculis nec sollicitudin id, dapibus in nunc.</pre>
<div id="info"></div>
</body>
</html>
Questions connexes
- 1. Obtenir des coordonnées x, y de caractères individuels dans un widget de texte SWT
- 2. Mojo.Event.tap - comment obtenir des coordonnées de prise?
- 3. Echapper à un bloc de texte dans MikTeX?
- 4. comment obtenir les coordonnées UIImageView?
- 5. Django-Template: Obtenir des variables dans un bloc Tag!
- 6. Remplacer le bloc de texte dans vs2008
- 7. Cliquez sur une image, obtenir des coordonnées
- 8. Comment obtenir les coordonnées de l'écran des éléments de la page Web dans BHO
- 9. Comment "appliquer" des caractères de retour arrière dans un fichier texte (idéalement dans vim)
- 10. Expression régulière correspondant à un bloc de texte multiligne
- 11. Obtenir les coordonnées GPS de Samsung Intrepid
- 12. Comment obtenir la taille d'en-tête de bloc dans Oracle?
- 13. Verrouillage des caractères valides dans une zone de texte
- 14. Comment autoriser les caractères de tabulation dans un champ de texte dans Flash?
- 15. Comment convertir les coordonnées de l'espace écran en coordonnées de l'espace image dans un PictureFox WinForms?
- 16. Comment insérer des caractères chinois dans un champ de texte SQLExpress?
- 17. En Javascript, puis-je obtenir les coordonnées exactes sur du texte encombré de tags (childNodes partout?)
- 18. jQuery obtenir du texte avec des caractères génériques après un élément et le déplacer
- 19. Un moyen rapide de faire correspondre un tableau de mots avec un bloc de texte?
- 20. Problème de support de caractères - Comment traduire des caractères ASCII plus élevés en caractères ASCII inférieurs
- 21. mssql_fetch_object limite de caractères de texte?
- 22. Comment parcourir un bloc entier de code?
- 23. Suppression des « blocs » de texte dans vim
- 24. Comment obtenir le nombre de caractères uniques dans une chaîne
- 25. Comment transformer un polynôme en un autre système de coordonnées?
- 26. Défilement du bloc de texte/zone/div dans XAML lâche
- 27. Comment envoyer du texte au bloc-notes dans C#/Win32?
- 28. troncature Texte à un arrêt de caractères match
- 29. Système de coordonnées CALayer
- 30. WPF: Obtenir de nouvelles coordonnées après une rotation
-1 veuillez formater, raccourcir, expliquer – markus
Cette solution est extrêmement lente pour un gros bloc de texte sur mon Firefox 3.5. – btw0